Nella mia applicazione, è possibile generare diversi report (CSV, HTML, ecc.).Metodo stile factory Enum
Invece di creare un modello di metodo tradizionale in stile fabbrica, stavo progettando di aggiungere un metodo al corpo di costanti enum che creava e restituiva l'oggetto report appropriato.
public enum ReportType {
CSV {
@Override
public Report create() {
return new CSVReport();
}
},
HTML {
@Override
public Report create() {
return new HTMLReport();
}
};
public abstract Report create();
}
Con una costante ReportType enum specificato, ho potuto quindi creare facilmente un nuovo rapporto eseguendo una dichiarazione come la seguente:
ReportType.CSV.create()
volevo ottenere il parere degli altri sull'utilizzo di questo approccio. Cosa ne pensi di questo? Preferiresti un altro approccio e, in tal caso, perché?
Grazie
Questo è per quanto riguarda Singletons. – Steve