так что есть веб-приложение (Seam + JSF / Facelets), над которым я сейчас работаю, и мне нужно создать сервис генерации отчетов - в настоящее время три разных типа отчетов и три разных формата. Я хотел бы, чтобы вы предложили несколько хороших шаблонов, реализующих эту функцию, которые могли бы спасти меня в actionBean, например:
if (selectedFormat == pdf) {
pdfReportService.generateReportNr1();
} else if (selectedFormat == csv) {
csvReportService.generateReportNr1();
} else if [...]
Так что, я думаю, был бы интерфейс ReportGenerator с методами для различных типов отчетов и реализации ReportGenerator для различных типов форматов. Но как объединить все поддерживаемые реализации формата в одном сервисе, чтобы его можно было легко вызывать из компонента действия без какой-либо логики переключения? Должен ли я собрать их в какой-то общий сервис и предоставить метод List getSupportedFormats ()? Дай мне свои идеи:)