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

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

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

a

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

如下图所示代码:

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

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

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

相关推荐
2503_9469718619 小时前
【Kernel/Consensus】2026年度第二周内核重构与分布式共识战争基准索引 (Benchmark Index)
网络安全·微服务·重构·数据集·分布式系统·系统内核
sunfove21 小时前
上帝的乐谱:从线性代数视角重构傅里叶变换 (FT) 的数学表达式
线性代数·机器学习·重构
凤希AI伴侣1 天前
告别文件存储的混乱:我用SQLite重构了AI对话记录管理
人工智能·重构·sqlite·凤希ai伴侣
搜狐技术产品小编20232 天前
精通 UITableViewDiffableDataSource——从入门到重构的现代 iOS 列表开发指南
ios·重构
乾元2 天前
无线定位与链路质量预测——从“知道你在哪”,到“提前知道你会不会掉线”的网络服务化实践
运维·开发语言·人工智能·网络协议·重构·信息与通信
高工智能汽车2 天前
CES2026丨中科创达发布滴水OS 2.0 Pre 以AI原生重构智能汽车交互体验
重构·汽车·ai-native
GIS 数据栈2 天前
【Seggis遥感系统升级】用C++高性能服务Drogon重构软件服务架构|QPS提升300%,性能再升级!
java·开发语言·c++·重构·架构
元智启2 天前
企业 AI 应用进入 “能力解耦时代”:模块化重构 AI 落地新范式
大数据·人工智能·重构
小北方城市网2 天前
GEO 全场景智能生态:自适应架构重构与极限算力协同落地
开发语言·人工智能·python·重构·架构·量子计算
科技小E2 天前
EasyGBS算法算力平台重构服务业视频监控AI应用
人工智能·重构·音视频