刚写的代码,就变成了遗留系统?
今天想跟大家聊聊遺留系統,首先,看一下這張圖
這是一家銀行的核心應用系統模塊之間的交互圖,我想沒有一個人愿意工作在這樣的系統上吧?
架構混亂,模塊之間職責不明,一個需求就要需要修改四五個服務,這就是遺留系統,留給我們的問題。
遺留系統與架構
一個軟件架構的作用,是要解決多個業務模塊之間的協作問題。但如果架構混亂,多個模塊之間往復調用,數據也是隨意訪問,模塊之間的邊界就會變得模糊,數據所有權也會變得含糊。
其實遺留系統的架構重構,我們可以分成“改造老城區”和“建設新城區”兩類模式。
改造老城區模式是指對遺留系統內部的模塊進行治理、讓模塊內部結構合理、模塊之間職責清晰的一系列模式。
建設新城區模式是指將遺留系統內部的某個模塊拆分到外面,或將新需求實現在遺留系統外部的一系列模式。
遺留系統如何全面「改造或重構」
曾經的我也遇到過遺留系統,相當痛苦,每天為毫無頭緒的代碼和混亂不堪的架構發愁,新需求來了根本不知道從何改起。改造和替換又是高風險操作,應該遵循哪些改造原則?重構還是重寫,如何選擇?
后來我在搜索解決辦法時,看到了一段?Thoughtworks資深咨詢師「姚琪琳」分享重構遺留系統方法,給我啟發挺大,大約 4 分鐘,這里分享給大家。
簡單來說,首先,你要先梳理遺留系統的根本問題,找到切入口
其次,全面地了解改造過程,知其然,也知其所以然,就像這張圖。
將遺留系統模塊進行 6 步拆分,即::①假設驅動 → ②明確度量 → ③確定架構目標 → ④制定演進進度 → ⑤按迭代增量演進 → ⑥驗證
「姚琪琳」Thoughtworks 資深咨詢師,技術書籍譯者。擁有超過十年的軟件開發、設計和架構經驗。近年來在企業遺留系統現代化、領域驅動設計、敏捷軟件開發、整潔代碼和重構等方面持續精進,并通過理論指導、實戰演練等方式為企業研發團隊賦能。參與翻譯或審校多本技術書籍,包括《領域特定語言》《.NET 性能優化》等10余本。
最近他專門寫了個專欄《遺留系統現代化實戰》,我第一時間就入手了,不得不說,真香!
深入剖析了遺留系統的特點和問題,詳解遺留系統現代化的原則、模式和最佳實踐,并從代碼、架構、DevOps 和團隊現代化 4 大方向,解決遺留系統治理的疑難雜癥。
現在剛剛上線,用我的優惠口令「xitong888」,到手僅需¥68。
或者你可以直接購買極客時間的超級會員,首月 6 元,就能免費看這個課
再簡單介紹下內容,他將遺留系統分成了 4 個篇章:
基礎篇:為什么要對遺留系統“現代化”
原則篇:以降低認知負載為前提、以假設驅動為指引、以增量演進為手段
模式篇:20+ 經典模式,以及來自一線實戰總結的實用模式,幫你分而治之。具體的不說了,自己看圖,非常清晰。
實戰篇:將帶著你一起對一個典型的遺留系統進行現代化
有多干貨,看看下面的專欄目錄
也許,你當前所在的項目上并沒有遺留系統,所有的系統都生機勃勃、一片祥和。不過表面的祥和之下,可能暗藏波濤。
也許,你正在癡迷于新技術,但,新≠好,只有掌握了解決問題的方法,才能不懼任何問題。而不是把新技術當個錘子,看什么問題都是釘子。
掃碼試讀👆🏻
遺留系統怎么辦?將改造進行到底!
↓↓↓閱讀原文,立即試讀
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的刚写的代码,就变成了遗留系统?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如果去掉数学前后的空格_数学家们是怎么玩
- 下一篇: adcetris研发历程_AZ、MSD、