Recentemente ho iniziato a leggere Heads First Design Pattern Book oltre a programmare il mio progetto per l'ultimo anno. Nel mio progetto ho Tanks che estende Entity . Un'entità può essere qualsiasi cosa nel gioco che è posizionabile sulla mappa di gioco. L'entità è una classe astratta.
Ho un metodo move()
nella mia classe Entità che verrà utilizzato per modificare la posizione del serbatoio. Avrò molti tipi diversi di tank nel mio gioco e si muoveranno più velocemente o più lentamente in base alla velocità che hanno. Ora la mia domanda è, ho letto sul modello di strategia e in base ad esso dovrei usare l'interfaccia per il movimento in quanto non voglio continuare a ignorare o cambiare il comportamento del metodo di spostamento ogni volta in diversi serbatoi. Forse se un carro armato non si muove, devo mantenere il metodo di spostamento vuoto.
Quindi, dovrei preferire il metodo di codifica move()
in ogni Tank introdurre un'interfaccia Movable nella classe Tank ? Ciò sarà utile in quanto posso modificare il comportamento del movimento del serbatoio durante il tempo di esecuzione, ma poi non sono sicuro di come farlo, in quanto potrei dover introdurre la posizione xey del serbatoio all'interno delle implementazioni dell'interfaccia in qualche modo e modificarle di conseguenza. Questo annullerà lo scopo della classe Entità poiché la classe Entità viene utilizzata per conservare le posizioni x e y .
Per favore suggeriscimi il modo corretto per farlo.
Fammi sapere se la domanda non è chiara perché è un po 'difficile esprimere la mia domanda in quanto è un po' complessa.