我目前正在从事一个有一些(在我看来)架构问题的项目。
例如 - 每个对象都可以通过静态方法访问的公共框架 Bean 在需要时检索每个依赖项。这实际上只是一个将返回 Spring bean 的 spring 包装器。没有依赖注入。
实体引用 DAO 来检索关系数据 - 隐藏在实体 getter 中。
异常具有对解析和翻译错误消息的服务的引用。
每个服务或 DAO 都继承自一些通用的抽象框架 bean,这些 bean 有自己的依赖关系和配置要求。如果您尝试执行其他任何操作,您将收到“未初始化框架”错误。还应该提到的是,框架是一个没人敢碰的黑匣子。
每个测试实际上都是一个集成测试,因为它们都需要一个工作数据库连接到一个中央共享数据库。
我们有一个依赖图,基本上,一切都连接到一切。
并且没有测试。
想象一下在这种环境中设置单元测试是多么困难。事实上,每个测试都试图插入测试数据并自行清理——不使用任何类型的事务。
我只是在这里触及表面。
不用说,我有点担心代码质量。该项目(当然)时间和资源不足,并且截止日期即将到来。
那么 - 如果我们希望交付类似于功能软件的东西,如何用他们理解的语言说服管理层需要重构?