ok fino a qui ci sono, infatti quello che io pensavo, era utulizzare un factory.
Però vorrei che il mio codice diventasse ancora più flessibile nel punto in cui si devono utilizzare gli oggetti. Con riferimento al tuo esempio, nel mio main se dovessi scegliere di usare GestioneFile1 per file in formato jpg e l'altro per formato excel
scriverei:
Codice PHP:
String extension = getExtension(file); //getMimeType è una classe di servizio che restituisce l'estensione
GestioneFile gf1 = null ;
if(extension.equals("xsl")){
gfl = new GestioneFileprod1();
}else if(extension.equals("jpg")){
gfl = new GestioneFileprod2();
}
Quello che io voglio rendere più "elastico" è proprio quei rami if-else.
Se suppongo di avere un Gestore di file dedicato ad ogni estensione di un file, puoi capire che si rischia di allungare la catena degli if-else all'infinito nel main.