gpt4 book ai didi

java - 报告生成器——我需要一些智能设计模式;)

转载 作者:行者123 更新时间:2023-11-29 06:14:45 27 4
gpt4 key购买 nike

所以我现在正在开发一个 webapp(Seam + JSF/Facelets),我需要创建报告生成服务——目前有三种不同的报告类型和三种不同的格式。我希望您建议一些不错的模式来实现此功能,这可以在 actionBean 中为我节省一些东西,例如:

if (selectedFormat == pdf) {
pdfReportService.generateReportNr1();
} else if (selectedFormat == csv) {
csvReportService.generateReportNr1();
} else if [...]

所以我猜会有 ReportGenerator 接口(interface),其中包含用于不同类型报告的方法,以及用于不同格式类型的 ReportGenerator 实现。但是如何将所有支持的格式实现组合到一个服务中,以便可以在没有任何切换逻辑的情况下轻松地从操作 bean 中调用它?我应该将它们收集在一些公共(public)服务中并公开一个 List getSupportedFormats() 方法吗?给我你的想法:)

最佳答案

我会使用 abstract factory pattern ,即为每种支持的格式(如 map 格式->工厂)提供一个报告生成器(工厂)。然后选择支持所选格式的工厂。

关于java - 报告生成器——我需要一些智能设计模式;),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5510298/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com