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

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

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

a

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

如下图所示代码:

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

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

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

相关推荐
C蔡博士1 小时前
OpenAI联合创始人Karpathy:AI降低开发门槛后,软件需求会爆发式增长
人工智能·重构·软件开发·ai agent
zandy10111 小时前
GEO 合规场景下技术革新的价值重构:从合规约束到竞争优势
人工智能·重构
草原猫2 小时前
公链开发:从技术筑基到生态共生,重构数字信任基础设施
重构·区块链
雷焰财经3 小时前
首都在线MaaS+ComfyUI:重构游戏美术生产,打造行业降本提效新标杆
人工智能·重构·游戏美术
Tony Bai3 小时前
【AI 智能体时代的软件工程】11 双态工作台:为何我们需要为 AI 重构 IDE?
ide·人工智能·重构
xdpcxq10291 天前
Redis 故障排查 + 跨语言重构场景实测
数据库·redis·重构
世岩清上1 天前
从静态陈列到数据活化:策展逻辑的升维与重构
重构·博物馆·展厅·数字展陈·数据活化·纪念馆
阳光普照世界和平1 天前
借力大模型,重构研发效能:全流程提效实战指南
大数据·人工智能·重构
大数据AI人工智能培训专家培训讲师叶梓1 天前
Fast-WAM:重构 WAMs 的效率与性能平衡
人工智能·重构·大模型·具身智能·人工智能讲师·大模型讲师·大模型培训
威联通安全存储1 天前
深度观察:跨越“存起来”的误区,智造时代如何重构工业数据底座?
大数据·人工智能·python·重构