讓架構師了解如何將系統架構視為靈活的推進器,以因應快速變化的需求。
提供最新技術、知識和訣竅,以確保軟體架構敏捷且跟上時代變遷。
「隨著對軟體能做什麼的期望加速改變,我們必須想方設法演化我們的架構,以適應這一事實。這本手冊將幫助你了解如何將系統架構視為可塑的推進器,而非難以撼動的障礙。」
—Sam Newman
架構師,《Building Microservices》作者
「本書第二版將為你提供最新的技術、知識和訣竅,以確保軟體架構足夠敏捷,能夠跟上不斷的變化。」
—Mark Richards
developertoarchitect.com
隨著新工具、框架、技術和典範的不斷湧現,軟體開發生態系統也在持續變動。僅在過去五年間,軟體開發核心工程實踐方面的逐步進展就促使業界認識到架構本身也必須演化才能滿足不停變化的使用者需求。在這個全面更新的版本中,作者Neal Ford、Rebecca Parsons、Patrick Kua和Pramod Sadalage提供現實世界中的案例研究,其中考量到了近來對軟體開發的演化日益增長的支援。
本書分為三個部分:
‧機制:第一部包括了定義演化式架構機制的章節,說明團隊如何使用技術和工具來建置適應性函數、部署管線,以及其他用來治理和演化軟體專案的機制。
‧結構:第二部涵蓋的架構風格和設計原則針對耦合、重複使用,以及為了實現更乾淨俐落的長期演化而必須考慮的其他結構因素。
‧影響:第三部則探討第一部介紹的工程實務做法與第二部分的結構考量之間的交集。
目錄
第一版推薦序
第二版推薦序
前言
第一部分 機制
第一章 軟體架構的演化
軟體演化所面臨的挑戰
演化式架構
當一切都在不斷變化,如何實現長期規劃?
架構建立好之後,如何避免其隨時間而衰退?
為何是演化式的?
總結
第二章 適應性函數
什麼是適應性函數?
分類
適應性函數由誰撰寫?
我的適應性函數測試框架在哪裡?
結果vs.實作
總結
第三章 工程化漸進式變更
漸進式變更
總結
第四章 自動化架構治理
將適應性函數用於架構治理
基於程式碼的適應性函數
一站式工具
整合架構
DevOps
企業架構
適應性函數作為一種檢查表而非懲罰工具
以文件記錄說明適應性函數
總結
第二部分 結構
第五章 演化式架構拓撲
可演化的架構結構
架構量子與細緻度
契約
重用模式
總結
第六章 演化式資料
演化式資料庫設計
不適當的資料纏結
從原生到適應性函數
總結
第三部分 影響
第七章 建立可演化的架構
演化式架構的原則
機制
綠地專案
翻新現有架構
遷移架構
建置演化式架構指導方針
適應性函式驅動的架構
總結
第八章 演化式架構的陷阱與反模式
技術架構
漸進式變更
業務考量
總結
第九章 將演化架構付諸實踐
組織因素
商業案例
建置企業適應性函數
從何處開始?
未來狀態?
為何(或為何不)?
總結
索引
第一版推薦序
第二版推薦序
前言
第一部分 機制
第一章 軟體架構的演化
軟體演化所面臨的挑戰
演化式架構
當一切都在不斷變化,如何實現長期規劃?
架構建立好之後,如何避免其隨時間而衰退?
為何是演化式的?
總結
第二章 適應性函數
什麼是適應性函數?
分類
適應性函數由誰撰寫?
我的適應性函數測試框架在哪裡?
結果vs.實作
總結
第三章 工程化漸進式變更
漸進式變更
總結
第四章 自動化架構治理
將適應性函數用於架構治理
基於程式碼的適應性函數
一站式工具
整合架構
...