演進式架構

演進式架構

《演進式架構》是2019年人民郵電出版社出版發行的圖書,作者是[美] 尼爾 · 福特。

基本介紹

  • 書名:演進式架構
  • 作者:[美] 尼爾 • 福特
  • 譯者:周訓傑
  • ISBN:9787115516176
  • 頁數:156
  • 定價:59.00元
  • 出版社:人民郵電出版社
  • 出版時間:2019-8
  • 裝幀:平裝
內容簡介,作者簡介,圖書目錄,

內容簡介

本書由IT行業領導企業ThoughtWorks的CTO和架構專家聯合執筆,詳盡介紹了演進式架構的必要性以及如何在具體的軟體開發流程中實現演進式架構,涵蓋了適應度函式、增量變更、架構耦合、演進式數據、構架可演進的架構、實踐演進式架構等內容。

作者簡介

尼爾·福特(Neal Ford),ThoughtWorks軟體架構師、Meme Wrangler,曾任DSW集團CTO,是國際公認的軟體開發與交付專家。
麗貝卡·帕森斯(Rebecca Parsons),ThoughtWorks CTO,在大規模分散式對象套用開發和系統集成方面擁有豐富經驗。
帕特里卡·柯(Patrick Kua),數字銀行N26首席科學家,曾任ThoughtWorks主任諮詢師和技術主管,在敏捷和精益開發方面擁有豐富經驗。

圖書目錄

序 ix
前言 xi
第1章 軟體架構 1
1.1 演進式架構 2
1.1.1 一切都在變化,如何才能長期規劃 3
1.1.2 完成架構構建後,如何防止它逐漸退化 4
1.2 增量變更 5
1.3 引導性變更 6
1.4 多個架構維度 6
1.5 康威定律 8
1.6 為何演進 10
1.7 小結 11
第2章 適應度函式 13
2.1 什麼是適應度函式 15
2.2 適應度函式分類 16
2.2.1 原子適應度函式與整體適應度函式 16
2.2.2 觸髮式適應度函式與持續式適應度函式 16
2.2.3 靜態適應度函式與動態適應度函式 17
2.2.4 自動適應度函式與手動適應度函式 17
2.2.5 臨時適應度函式 18
2.2.6 預設式高於應急式 18
2.2.7 針對特定領域的適應度函式 18
2.3 儘早確定適應度函式 18
2.4 審查適應度函式 19
第3章 實施增量變更 21
3.1 構件 24
3.1.1 可測試性 25
3.1.2 部署流水線 26
3.1.3 組合不同類型的適應度函式 30
3.1.4 案例研究:在每天部署60次的情況下重建架構 31
3.1.5 目標衝突 33
3.1.6 案例研究:為PenultimateWidgets的發票服務添加適應度函式 33
3.2 假設驅動開發和數據驅動開發 36
3.3 案例研究:移植什麼 37
第4章 架構耦合 39
4.1 模組化 39
4.2 架構的量子和粒度 40
4.3 不同類型架構的演進能力 42
4.3.1 大泥團架構 42
4.3.2 單體架構 44
4.3.3 事件驅動架構 49
4.3.4 服務導向架構 53
4.3.5 “無服務”架構 62
4.4 控制架構量子大小 63
4.5 案例分析:防止組件循環依賴 64
第5章 演進式數據 67
5.1 演進式資料庫設計 67
5.1.1 資料庫模式演進 67
5.1.2 共享資料庫集成 69
5.2 不當的數據耦合 73
5.2.1 二階段提交事務 74
5.2.2 數據的年齡和質量 75
5.3 案例研究:PenultimateWidgets的路由演進 76
第6章 構建可演進的架構 79
6.1 演進機制 79
6.1.1 識別受演進影響的架構維度 79
6.1.2 為每個維度定義適應度函式 80
6.1.3 使用部署流水線自動化適應度函式 80
6.2 全新的項目 80
6.3 改良現有架構 81
6.3.1 適當的耦合和內聚 81
6.3.2 工程實踐 81
6.3.3 適應度函式 82
6.3.4 關於商業成品軟體 82
6.4 架構遷移 83
6.4.1 遷移步驟 84
6.4.2 演進模組間的互動 86
6.5 演進式架構構建指南 89
6.5.1 去除不必要的可變性 89
6.5.2 讓決策可逆 91
6.5.3 演進優於預測 91
6.5.4 構建防腐層 92
6.5.5 案例分析:服務模板 93
6.5.6 構建可犧牲架構 94
6.5.7 應對外部變化 95
6.5.8 更新庫與更新框架 97
6.5.9 持續交付優於快照 97
6.5.10 服務內部版本化 98
6.6 案例分析:PenultimateWidgets的評分服務演進 99
第7章 演進式架構的陷阱和反模式 103
7.1 技術架構 103
7.1.1 反模式:供應商為王 103
7.1.2 陷阱:抽象泄漏 104
7.1.3 反模式:最後10%的陷阱 107
7.1.4 反模式:代碼復用和濫用 108
7.1.5 案例研究:PenultimateWidgets中的復用 109
7.1.6 陷阱:簡歷驅動開發 110
7.2 增量變更 111
7.2.1 反模式:管理不當 111
7.2.2 案例研究:PenultimateWidgets的“金髮姑娘”管理 112
7.2.3 陷阱:發布過慢 113
7.3 業務問題 114
7.3.1 陷阱:產品定製 114
7.3.2 反模式:報表 115
7.3.3 陷阱:規劃視野 116
第8章 實踐演進式架構 119
8.1 組織因素 119
8.1.1 全功能團隊 119
8.1.2 圍繞業務能力組織團隊 121
8.1.3 產品高於項目 121
8.1.4 應對外部變化 122
8.1.5 團隊成員間的連線數 123
8.2 團隊的耦合特徵 124
8.2.1 文化 124
8.2.2 試驗文化 125
8.3 財務長和預算 126
8.4 構建企業適應度函式 128
8.5 從何開始 129
8.5.1 容易實現的目標 129
8.5.2 最高價值優先 129
8.5.3 測試 129
8.5.4 基礎設施 130
8.5.5 PenultimateWidgets的企業架構師 131
8.6 演進式架構的未來 131
8.6.1 基於AI的適應度函式 132
8.6.2 生成式測試 132
8.7 為什麼(不)呢 132
8.7.1 公司為何決定構建演進式架構 132
8.7.2 案例分析:PenultimateWidgets選擇性伸展 134
8.7.3 企業為何選擇不構建演進式架構 135
8.7.4 說服他人 136
8.7.5 案例分析:“諮詢柔道” 136
8.8 商業案例 136
8.8.1 未來已來…… 136
8.8.2 沒有後顧之憂地快速前行 137
8.8.3 風險更低 137
8.8.4 新能力 137
8.9 構建演進式架構 137
關於作者 139
封面介紹 140

相關詞條

熱門詞條

聯絡我們