Ho un'interfaccia chiamata Cell
. All'inizio del codice, leggo i dati di input da cui posso venire a conoscenza della classe di implementazione (non come un oggetto di classe ma posso sapere ad esempio la stringa). E dopo devo chiamare il costruttore per la classe di implementazione per inizializzare un oggetto.
Quale sarebbe il modo migliore per implementarlo. La prima cosa che ho in mente è di fare qualcosa del genere ( Cell
è un'interfaccia, Sphere
e Rectangle
implementa Cell
. Posso impostare un flag booleano chiamato sphere
dopo aver letto i dati di input):
Cell startcell;
if (sphere)
startcell = new Sphere(0);
else
startcell = new Rectangle(0);
Ma questo è un buon design?