1
所以我現在正在開發一個webapp(Seam + JSF/Facelets),我需要創建報告生成服務 - 目前有三種不同的報告類型和三種不同的報告類型格式。我希望你能提出一些好的模式就實現這個功能,這能救我的東西在ActionBean中,如:報告生成器 - 我需要一些聰明的設計模式;)
if (selectedFormat == pdf) {
pdfReportService.generateReportNr1();
} else if (selectedFormat == csv) {
csvReportService.generateReportNr1();
} else if [...]
所以我想會有針對不同類型的報告爲方法,並ReportGenerator實現ReportGenerator接口不同的格式類型。但是如何將所有支持的格式實現合併到一個服務中,以便在沒有任何切換邏輯的情況下輕鬆地從動作bean中調用它?我應該將它們收集到一些常用的服務中,並公開一個List getSupportedFormats()方法嗎?給我你的想法:)