当前位置: 首页 > news >正文

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

公司自实施产品线战略以来,基本推翻了全部旧有业务模块。后续以标准产品+二次开发的模式进行项目开发。但在涉及到一些旧有系统二期、三期升级改造过程中。不可避免的需要解决旧有系统的客户定制化开发兼容性问题。也就是旧有系统定制开发的模块不能丢弃。重新开发从工程进度上又不允许。因此,需要把旧有系统的某几个定制开发模块嫁接到重构后的产品项目上。
面对该需求,本人参考了日志slf4j的兼容包log4j-over-slf4j的做法。在重构系统和旧系统定制模块之间开了一个中间适配包。用来兼容重构系统和旧有模块。如下图:
a
在这里插入图片描述
在重构系统中,因为涉及到对表结构优化,代码优化,业务优化等方法。不能满足旧有系统的依赖。因此,在乱配包中,把旧有系统的外部依赖都用原类名、原方法名、原参数、原包名写个空壳子。用重构系统中的新组件做实现。旧有系统定制模块在消除编译问题的同时,也适配了重构系统的相关方法、接口等。
如下图所示代码:

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

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

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

http://www.lryc.cn/news/321734.html

相关文章:

  • Linux---基本操作命令之用户管理命令
  • excel 破解 保护工作簿及保护工作表
  • django-comment-migrate 模型注释的使用
  • Python学习:列表
  • C语言每日一题—判断是否为魔方矩阵
  • Java数组新手冷知识
  • Linux——程序地址空间
  • Linux编程4.9 网络编程-建立连接
  • 威胁检测与分析--云图大师
  • Python基础入门 --- 7.函数
  • 第4周 Python程序流程控制刷题
  • 高亮搜索中的关键字怎么实现
  • OpenCV系列文章目录(持续更新中......)
  • 【机器学习系列】M3DM工业缺陷检测部署与训练
  • 西瓜书机器学习AUC与ℓ-rank(loss)的联系理解以及证明(通俗易懂)
  • 渔业安全生产综合管理指挥系统-航迹数据优化方案
  • 发现数据之美:探索数据可视化的艺术与技术
  • Flutter项目组件模块化开发的实践与搭建
  • Flink:使用 Faker 和 DataGen 生成测试数据
  • Json格式解析
  • Java Day13 多线程
  • 以太坊的演变:EIP、ERC 概念以及革命性的 ERC20、ERC721 和 ERC115 标准
  • B003-springcloud alibaba 服务治理 nacos discovery ribbon feign
  • mac笔记本执行定时任务
  • 解决linux系统网卡加载慢的问题
  • Linux 命令或者一些工具
  • 基于python的4s店客户管理系统
  • 解决谷歌浏览器最新chrome94版本CORS跨域问题
  • JAVA 线程
  • Rust 基于 await、async 的异步编程和纤程、协程的实现