系统重构后,对项目定制开发的兼容性问题

公司自实施产品线战略以来,基本推翻了全部旧有业务模块。后续以标准产品+二次开发的模式进行项目开发。但在涉及到一些旧有系统二期、三期升级改造过程中。不可避免的需要解决旧有系统的客户定制化开发兼容性问题。也就是旧有系统定制开发的模块不能丢弃。重新开发从工程进度上又不允许。因此,需要把旧有系统的某几个定制开发模块嫁接到重构后的产品项目上。

面对该需求,本人参考了日志slf4j的兼容包log4j-over-slf4j的做法。在重构系统和旧系统定制模块之间开了一个中间适配包。用来兼容重构系统和旧有模块。如下图:

a

在重构系统中,因为涉及到对表结构优化,代码优化,业务优化等方法。不能满足旧有系统的依赖。因此,在乱配包中,把旧有系统的外部依赖都用原类名、原方法名、原参数、原包名写个空壳子。用重构系统中的新组件做实现。旧有系统定制模块在消除编译问题的同时,也适配了重构系统的相关方法、接口等。

如下图所示代码:

旧有定制模块获取登录用户id在适配包中的写法:

java 复制代码
    // 调用了旧系统中的UserUtils.getLoginUserId()方法。
	public class UserUtils {
 		public static String getLoginUserId() {
 		    // 实际调用的是重构系统中的获取登录用户方法
        	return ZYUserHelper.getLoginAreaUserId();
        }
    }

通过该方案的实施,大大节省了旧系统改造升级的开发周期。在公司其他同场景的其他项目中,得到了广泛的推广。取得了良好的经济效益。

相关推荐
remender9991 天前
人力外包解决方案:重构企业用人成本的最优配置
大数据·职场和发展·重构·业界资讯
九河云1 天前
化工企业数字化转型:从数据贯通到生态重构的实践路径
人工智能·重构·云计算·制造
半旧5181 天前
重构谷粒商城11:node快速入门
java·前端·重构
业财猫CRM1 天前
“乐企“平台如何重构业财税票全流程生态?
大数据·重构·业界资讯
北漂老男孩1 天前
典型反模式深度解析及重构方案
笔记·重构·系统架构
Allen_LVyingbo1 天前
思维链编程模式下可视化医疗编程具体模块和流程架构分析(全架构与代码版)
大数据·人工智能·重构·架构·健康医疗
Coovally AI模型快速验证2 天前
告别水下模糊!SU-YOLO:轻量化+尖峰神经网络,用“类脑计算”实现水下目标毫秒级识别
人工智能·深度学习·神经网络·算法·yolo·机器学习·重构
久违の欢喜3 天前
云巅之上:数字文明的重构与超越
重构
Black_Rock_br3 天前
金融维度下的公链价值重构:重塑财富新秩序
金融·重构·区块链
猿小猴子4 天前
在 Ubuntu24.04 LTS 上 Docker Compose 部署基于 Dify 重构二开的开源项目 Dify-Plus
docker·重构·开源