Io e il mio amico stiamo creando un gioco per dispositivi mobili e abbiamo riscontrato il seguente problema di progettazione:
Avremo molti diversi tipi di unità tutte con differenti statistiche e abilità. Tuttavia, tutti i tipi di unità dovrebbero avere alcuni punti in comune (ad esempio, tutti avrebbero un attributo totalhealth).
Stavamo cercando di decidere quale sarebbe il modo migliore di rappresentare queste unità.
Il mio amico ha suggerito semplicemente di creare una nuova classe per ogni tipo di unità.
Sento che avere centinaia di classi diverse si sente sbagliato, ma non riesco a capire cosa c'è di male in questo.
La mia alternativa consiste nel mettere le informazioni sul tipo di unità in file di configurazione o in un database (che risolverà anche il problema di imporre a tutti i tipi di unità di avere alcuni attributi comuni con uno schema). E poi avere una classe di unità master per istanziare tipi di unità dal db.
Qual è il modo corretto di architettare questo?