Trong ứng dụng của tôi, có thể tạo một số báo cáo khác nhau (CSV, HTML, v.v.).Phương thức kiểu nhà máy Enum
Thay vì tạo mẫu phương thức kiểu nhà máy truyền thống, tôi đã lên kế hoạch thêm phương thức vào thân của hằng số enum để tạo và trả về đối tượng báo cáo thích hợp.
public enum ReportType {
CSV {
@Override
public Report create() {
return new CSVReport();
}
},
HTML {
@Override
public Report create() {
return new HTMLReport();
}
};
public abstract Report create();
}
Với REPORTTYPE enum liên tục quy định, tôi có thể sau đó dễ dàng tạo ra một báo cáo mới bằng cách thực hiện một tuyên bố như sau:
ReportType.CSV.create()
tôi muốn để có được những ý kiến của người khác về việc sử dụng phương pháp này. Bạn nghĩ gì về điều này? Bạn có thích cách tiếp cận nào khác không, và nếu có thì tại sao?
Cảm ơn
Đó là về Singletons. – Steve