问题描述
- 关于java遗留系统重构的问题,请教讨论方案。
-
目前公司的项目已经有十多年的历史了,现在想进行重构,不知道该如何下手。
目前的实现是:所有的产品代码都在一个项目里面,分了有十几个产品,用包名进行区分,
产品代码之间相互调用有点乱,主要有三个基础产品。现在是想把各个产品之间的代码拆分,只依赖三个基础产品。如果这样处理的话,jsp,js,css等文件该如何处理?
另外还有一些系统公用的接口重构问题:例如用户选择,目前所有产品的用户选择都用同一个,各个产品的参数过滤条件都不一样,所以写了很多判断,不好维护,有什么好的解决方法吗?写的比较乱,可以讨论一下方案。
解决方案
1.代码依赖方面,选取maven这样的工具,完成产品间的依赖关系布局(树状)
2.接口+工厂,用面向对象的思想解决多产品依赖公共接口的问题.
其中参数考虑整理为通用参数和变化参数.
通用参数比如:当前操作人,加密公共头等.变化参数用可变参数列表做,返回具体实现时,由工厂完成多参数到固定参数的代理.
3.使用dubbo等工具建立产品间的调用关系布局(并行)
要改就得大刀阔斧的改,改一半留一半太淡腾
解决方案二:
建议你看《京东技术解密》,这本书中完整介绍了一个真实的公司从小到大发展过程中,如何将整个公司的架构从.net平台迁移到java平台,并且保证业务持续进行的方方面面。甚至包括了很多技术外的事情。
时间: 2025-01-02 07:53:31