軟體架構原理:工程方法 封面

軟體架構原理:工程方法

👨‍💼: Mark Richards, Neal Ford
📅: February 11, 2020
Buy Now
📖:
軟體架構的工程化方法,從基礎理論到架構風格與軟技能的全面指南。
📘 深度概覽

作者背景#

本書由兩位長期從事架構實務與教學的資深架構師合著。Mark Richards 自 1983 年起投身軟體產業,專精於微服務架構、服務導向架構與分散式系統的設計與實作,現為 DeveloperToArchitect.com 創辦人,致力於幫助開發者轉型為架構師。Neal Ford 為 ThoughtWorks 軟體架構總監,擁有 Georgia State University 電腦科學學位(專攻語言與編譯器),著有七本以上技術書籍,是軟體開發與交付領域的國際知名專家,尤其擅長敏捷工程技術與軟體架構的交叉領域。兩人均在全球數百場技術研討會中擔任講者與培訓師。

完整摘要#

《Fundamentals of Software Architecture》要解決的核心問題是:軟體架構領域缺乏一本涵蓋基礎理論、架構風格與實踐技能的現代化教科書。作者認為過去許多架構「公理」已因 DevOps、雲端運算等技術變革而需要重新檢視,因此以工程化方法重新建構架構知識體系。

全書分為三大部分。基礎篇定義軟體架構的四大面向(結構、架構特性、架構決策、設計原則),建立架構思維(Architectural Thinking)的概念框架——包括技術廣度與深度的取捨、模組化(Modularity)的衡量指標(耦合、內聚、共生性),以及架構特性(Architecture Characteristics,即「-ilities」)的識別、衡量與治理方法。書中引入「架構量子」(Architecture Quantum)的概念,重新定義架構特性的適用邊界,並以元件為基礎建立架構設計思維。架構風格篇系統性地分析八種主流架構風格:單體式的分層架構、管道架構、微核心架構,以及分散式的服務導向架構、事件驅動架構、空間導向架構、SOA 與微服務架構,每種風格均從結構、架構特性評分與適用場景三個維度進行比較。技術與軟技能篇涵蓋架構決策記錄(ADR)、風險分析(Risk Storming)、架構圖表繪製與簡報技巧、團隊效能管理、協商與領導力,以及架構師職涯發展策略。

本書的貢獻與定位#

本書的獨特貢獻在於以現代視角重新定義了軟體架構的知識範疇。相較於 Martin Fowler 的《Patterns of Enterprise Application Architecture》側重企業應用模式,以及 Sam Newman 的《Building Microservices》專注微服務,本書以更宏觀的框架涵蓋所有主流架構風格,並首次將軟技能納入架構師的核心能力。適合正在從開發者轉型為架構師的工程師,以及希望系統化更新架構知識的現任架構師。