作 者:(美)馬克·理查茲,(美)尼爾·福特 著 楊洋,徐棟棟,王妮 譯
定 價:129
出 版 社:機械工業出版社
出版日期:2021年06月01日
頁 數:324
裝 幀:平裝
ISBN:9787111682196
全球範圍內的薪酬調查經常將軟件架構師列為十大很好工作崗位,但並沒有真正的指南來幫助開發人員成為架構師。於是,本書出現了。本書第一次全面概述了軟件架構的方方面面,涉及架構特征、架構模式、組件識別、圖表化和展示架構、演進架構,以及其他許多主題。Mark Richards和Neal ford講授軟件架構課程多年,他們關注的是適用於所有技術棧的架構原則。本書將基於過去十年的所有創新,從現代的角度探索軟件架構。本書將探討:?架構模式:眾多架構決策的技術基礎。?組件:識別、耦合、內聚等
●前言:失效的公理
第1章概述
1.1定義軟件架構
1.2架構師的角色期望
1.3與架構的交集
1.4軟件架構定律
第一部分基礎
第2章架構思維
2.1架構與設計
2.2技術廣度
2.3分析權衡
2.4理解業務驅動因素
2.5平衡架構和動手編碼
第3章模塊化
3.1定義
3.2度量模塊化
3.3從模塊到組件
第4章現有的架構特征
4.1部分已羅列出來的架構特征
4.2權衡和最差可用的架構
第5章識別架構特征
5.1從領域問題中提取架構特征
5.2從需求中提取架構特征
5.3案例研究:硅三明治
第6章度量和治理架構特征
6.1度量架構特征
6.2治理和適應度函數
第7章架構特征的範圍
7.1耦合與共生性
7.2架構量子與粒度
第8章組件化思維
8.1組件範圍
8.2架構師角色
8.3開發人員角色
8.4組件識別流程
8.5組件粒度
8.6組件設計
8.7案例研究:“前進,前進,消失”之發現組件
8.8架構量子回歸:單體架構和分布式架構之間的選擇
第二部分架構風格
第9章基礎
9.1基礎模式
9.2單體架構與分布式架構
第10章分層架構風格
10.1拓撲結構
10.2分層隔離性
10.3增加分層
10.4其他考慮
10.5為什麼使用這種架構風格
10.6架構特征評級
第11章管道架構風格
11.1拓撲結構
11.2示例
11.3架構特征評級
第12章微內核架構風格
12.1拓撲結構
12.2注冊
12.3契約
12.4示例和用例
12.5架構特征評級
第13章基於服務的架構風格
13.1拓撲結構
13.2拓撲結構變體
13.3服務設計和粒度
13.4數據庫分區
13.5架構示例
13.6架構特征評級
13.7何時使用這種架構風格
第14章事件驅動的架構風格
14.1拓撲結構
14.2代理拓撲
14.3中介拓撲
14.4異步能力
14.5錯誤處理
14.6防止數據丟失
14.7廣播功能
14.8請求-應答
14.9在基於請求和基於事件之間進行選擇
14.10混合的事件驅動的架構
14.11架構特征評級
第15章基於空間的架構風格
15.1常規拓撲結構
15.2數據衝突
15.3雲實現與預置實現
15.4復制緩存與分布式緩存
15.5近緩存中的注意事項
15.6實現示例
15.7架構特征評級
第16章編制驅動的面向服務的架構
16.1歷史和哲學
16.2拓撲結構
16.3分類
16.4重用與解耦
16.5架構特征評級
第17章微服務架構
17.1歷史
17.2拓撲結構
17.3分布式
17.4有界上下文
17.5API層
17.6運維重用
17.7前端
17.8通信
17.9架構特征評級
17.10附加參考
第18章選擇合適的架構風格
18.1改變架構“時尚”
18.2決策標準
18.3單體案例研究:硅三明治
18.4分布式案例研究:前進,前進,消失
第三部分技巧和軟技能
第19章架構決策
19.1架構決策反模式
19.2具備架構意義
19.3架構決策記錄
第20章分析架構風險
20.1風險矩陣
20.2風險評估
20.3風險風暴
20.4敏捷用戶故事的風險分析
20.5風險風暴範例
第21章架構繪圖和演示
21.1繪圖
21.2演示
第22章打造高效團隊
22.1團隊邊界
22.2架構師的個性
22.3有多少控制力
22.4團隊告警信號
22.5利用檢查清單
22.6提供指導
22.7總結
第23章談判和領導能力
23.1談判和推進
23.2軟件架構師作為領導者
23.3與開發團隊集成
23.4總結
第24章打造職業發展路徑
24.120分鐘規則
24.2開發個人雷達
24.3使用社交媒體
24.4臨別贈言
附錄A自我評估問題
關於作者
關於封面
本書全面概述了軟件架構的方方面面,涉及架構特征、架構模式、組件識別、圖表化和展示架構、演進架構,以及許多其他主題。本書分為三部分。第1部分介紹關於組件化、模塊化、耦合和度量軟件復雜度的基本概念和術語。第2部分詳細介紹各種架構風格:分層架構風格、管道架構風格、微內核架構風格、基於服務的架構風格、事件驅動的架構風格、基於空間的架構風格、編制驅動的面向服務的架構、微服務架構。第3部分介紹成為一個成功的軟件架構師所必需的關鍵技巧和軟技能。