yuge573691195 2015-01-06 07:25 采纳率: 0%
浏览 690

Javaee 项目扩展当中遇到的问题

项目最初开发是采用SSH框架的,其中有个功能是从数据库表中获取数据,然后生成报表
现在想对这个功能进行扩展,需要从另外的表中获取数据,生成同样格式的报表。
即现在用户可以选择,是从表A中获取数据,还是从表B中获取数据,然后生成报表。

我想请教各位高手,我是应当在DAO层、Service层中重新实现一遍生成报表的功能,还是在原来的代码当中加if else进行判断呢?
我的困惑是,如果我重新实现了一遍生成报表的功能,就相当于重复造轮子,以后还要维护相同的两套代码;如果我直接修改原来的代码,那就破坏了原来的完整性,原来功能的安全没法得到保证。

我该怎么做才是最好的呢?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 06:01
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,您可以考虑以下几个步骤:

    1. 分析需求:首先明确您想要的功能是什么。例如,如果用户希望从表A获取数据并生成报表,而从表B获取数据并生成报表,那么您需要确保这两个过程可以分开执行,并且能够根据用户的输入选择不同的数据源和输出类型。

    2. 设计解决方案

      • 在DAO(数据访问对象)层或Service层中添加一个新的方法来处理从不同表中获取数据和生成报表的需求。
      • 如果可能的话,将这个新方法封装在一个类中,这样可以在不改变现有代码的情况下进行扩展。
      • 使用注解或者配置文件等机制来控制这个方法的调用条件,比如通过参数传递、系统属性或者环境变量等。
    3. 测试解决方案

      • 创建一个测试用例,模拟不同的数据源和输出要求,检查您的解决方案是否能正确地执行所需的操作。
      • 尽量使用单元测试工具帮助验证代码的正确性。
    4. 文档更新

      • 修改项目中的相关文档,说明新的方法及其用途,以及如何调用它。
    5. 迁移原有代码

      • 如果可能的话,逐步移除原有的代码,保留新的逻辑部分。对于无法避免的旧代码,可以使用断点调试器或者IDE提供的日志查看功能来追踪问题所在,以便于修复。
    6. 持续改进

      • 随着项目的进展,定期回顾和优化您的解决方案。这包括识别新的需求、修正错误以及其他改进。

    请注意,具体的实现细节可能会因具体的应用场景和编程语言的不同而有所不同。但以上原则应该适用于大多数Java EE项目中遇到的类似问题。

    评论

报告相同问题?