gpt4 book ai didi

java - 如何最好地实现这个设计问题?

转载 作者:太空宇宙 更新时间:2023-11-04 08:26:11 25 4
gpt4 key购买 nike

我们正在重构使用 XML 文件来定义对象的各种属性的代码。我们称这个对象为 Report。根据客户的不同,有不同的报告,如年度报告、季度报告等。此类报告有数百份。

目前我们使用JAXB来读取这些XML文件并将它们转换为Report对象并进行处理。代码中涉及很多 if 和 else,因为需要根据 XML 中设置的属性来实现相应的行为。

我想知道在新代码中实现这一点的最佳方法是什么。请注意,我无法修改 XML 文件。

最佳答案

听起来你需要解耦。即,将报表对象拆分为报表描述(基本上是解析后的 xml),然后拥有一组使用它的类。

这样你就可以在reportdescription上有一个返返回表对象集合的方法例如reportheader、reportbody 和reportfooter,

然后reportbody.items将返回组。您返回的报告组组页眉正文页脚等

仍然会有很多“如果”,但会干净得多。

PS,如果当前的 xml 将受益于结构/格式的更改,则 xsl 转换不应成为重大开销,并且可能会极大地简化代码。

关于java - 如何最好地实现这个设计问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8464021/

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