这可能更像是一个咆哮而不是一个可以实际回答的问题。我不肯定。我怀疑这可能是很多人遇到的情况,所以希望这是一个有用的问题。
我们有 jsps 可以呈现大约 40 种不同状态的信息。假设这是一个复杂的金融产品的状态。所以我们想要输出依赖于状态的消息,例如状态 10 可能是“您的产品正在等待激活”,状态 15 可能是“您的产品处于活动状态”等等。
所以看起来我们可以有一个简单的查找,根据状态返回适当的消息,这一切都很好。
但实际上,仅凭状态不足以确定正确的信息。如果它是状态 10(等待激活)但它在激活后 1 周内,那么我们希望将消息涂成红色。如果它是状态 10(等待激活),但有外部原因延迟它,我们需要一条消息,提供指向解释页面的链接。等等。
因此,通过 itsef 获得的状态并未捕获确定和创建消息所需的所有信息。还有许多其他无关的信息也是必需的。
遗留代码的工作方式,所有这些信息都加载到jsp中,然后jsp根据这些非状态信息进行判断。
现在我们正在重做站点,我面临的情况是我们需要在多个不同的地方使用相同的状态逻辑,但输出不同的包装 html。
简而言之,这是一个大混乱。
我认为理想的答案是重构事物,以便从 jsps 中做出所有决定。呃,我不确定处理它的正确方法是什么。有很多复杂的复杂性,我不知道从哪里开始。
我不确定我是否提供了足够的细节以使问题变得清晰,但是如果有人有任何建议,我将非常感激..
编辑:感谢您的所有回答!代码是如此的复杂,以至于我通过将通用代码拉入包含文件中对其进行了一些重构,以便我可以在需要它们的地方包含这些文件。我肯定会按照您的建议使用函数进一步封装事物。很快就会回到你的答案。再次感谢。