В моем приложении можно создать несколько разных отчетов (CSV, HTML и т. Д.).
Вместо создания традиционного шаблона метода в фабричном стиле я планировал добавить в тело констант перечисления метод, который будет создавать и возвращать соответствующий объект отчета.
public enum ReportType {
CSV {
@Override
public Report create() {
return new CSVReport();
}
},
HTML {
@Override
public Report create() {
return new HTMLReport();
}
};
public abstract Report create();
}
С указанной константой перечисления ReportType я мог бы легко создать новый отчет, выполнив оператор, подобный следующему:
ReportType.CSV.create()
Я хотел узнать мнение других об использовании этого подхода. Что ты думаешь об этом? Вы бы предпочли какой-либо другой подход, и если да, то почему?
Спасибо