Inizio a conoscere i modelli di progettazione. Capisco che il prototipo è per fare una copia esatta di un oggetto che ho già e Flyweight è per creare oggetti simili.Prototipo vs peso vivo
Ho programmato giochi di piattaforme 2D come Mario (in Java). Ci sono molti nemici che sono gli stessi, l'unica differenza è la loro posizione [x,y]
. Ci sono anche muri che sono costruiti da un enorme numero di rettangoli e ancora una volta l'unica differenza è la loro posizione [x,y]
.
È consigliabile utilizzare alcuni di questi schemi di progettazione in questa particolare situazione? Devo usare il prototipo per clonare oggetti tramite clonabile e quindi impostare [x,y]
?
È meglio usare il flyweight: quando ho bisogno di un nuovo oggetto, li restituisco dalla mia hashmap e quindi ho impostato [x, y]?
In entrambi gli scenari evito di utilizzare un nuovo operatore ma non sono sicuro quale utilizzare.