遗留系统现代化实战
姚琪琳
Thoughtworks 资深咨询师
5615 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 30 讲
用户故事 (1讲)
遗留系统现代化实战
15
15
1.0x
00:00/00:00
登录|注册

14 | 架构现代化 :如何改造老城区后端?

你好,我是姚琪琳。
在上一节课中,我们学习了如何重构遗留系统的前端,一共分成了八个步骤,其中最后一个步骤是 API 治理。这其实就是去重构遗留系统的后端。
在第九、十节课,我们已经从代码层面讲解了如何重构和分层。而这节课,我们主要会从架构层面,带你看看在面对一个新需求或技术改进的时候,如何更好地重构和组织后端代码。
如果说在气泡上下文中开发新的需求,类似于老城区旁边建设一个新城区,那么在遗留系统中开发新的需求,就类似于在老城区内部开发新的楼盘。这就必然要涉及到拆迁的问题。
拆迁终归是一个声势浩大的工程,居民要先搬到别的地方,再拆除旧的建筑,盖起新的楼宇,一番折腾之后,老居民才能搬进新家。不过软件的好处就在于它是“软”的,不需要这么费劲儿。你可以很容易地复制、删除和添加新的代码,轻松地实现一个架构的变迁。

修缮者

绞杀植物模式适合于用新的系统和服务,替换旧的系统或旧系统中的一个模块。在旧系统内部,也可以使用类似的思想来替换一个模块,只不过这个模块仍然位于旧系统中,而不是外部。我们把这种方式叫做修缮者模式
在修缮时,我们通过开关隔离旧系统待修缮的部分,并采用新的方式修改。在修缮的过程中,模块仍然能通过开关对外提供完整功能。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了在面对新需求或技术改进时,通过架构层面的重构和组织后端代码来实现现代化的方法。作者提出了修缮者模式和抽象分支模式两种优雅的重构方式。修缮者模式通过开关隔离旧系统待修缮的部分,并采用新的方式修改,以保障系统的正常运行。另一种优雅的重构方式是抽象分支模式,通过将大的重构项目分解成多个小步骤,逐步完成架构的调整,实现增量演进。文章还提到了抽象分支模式在实际工作中的广泛应用,以及在初始化Redis时的替换实例。此外,文章还介绍了扩张收缩模式和接缝的概念,并提出了利用这些模式来实现架构中的替换的方法。总的来说,本文通过两种重构方式的介绍,为读者提供了在面对老城区后端重构时的实用技术思路。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《遗留系统现代化实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • aoe
    博客《如何优雅地替换一个实现》中电风扇实现接口隔离的例子很生动形象
    2022-05-13
    6
  • 子夜枯灯
    很接地气的文章,希望场景实例多一些。感谢作者大大的分享
    2022-05-11
    1
  • 公号-技术夜未眠
    十八般武艺,招招精彩
    2022-05-11
    1
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部