演進式架構 Building Evolutionary Architectures: Support Constant Change
[美] 尼爾·福特、麗貝卡·帕森斯、[澳] 帕特裡克·柯
- 出版商: 人民郵電
- 出版日期: 2024-09-01
- 定價: $354
- 售價: 8.5 折 $301
- 語言: 簡體中文
- 頁數: 140
- 裝訂: 平裝
- ISBN: 7115516170
- ISBN-13: 9787115516176
-
相關分類:
軟體工程、軟體架構
- 此書翻譯自: Building Evolutionary Architectures: Support Constant Change (Paperback)
-
相關翻譯:
建立演進式系統架構|支援常態性的變更 (Building Evolutionary Architectures: Support Constant Change) (繁中版)
已絕版
買這商品的人也買了...
-
$1,575$1,544 -
$1,500$1,425 -
$900Programming in Lua, 3/e (Paperback)
-
$1,730$1,644 -
$199精通Unreal遊戲引擎(遊戲設計與開發)
-
$450$356 -
$320$250 -
$454算法心得:高效算法的奧秘
-
$680$578 -
$475深層學習 : 心智如何超越經驗 (這不是您想的 DeepLearning)
-
$650$507 -
$354$336 -
$332大象無形:虛幻引擎程序設計淺析
-
$407使用 Raspberry Pi 學習電腦體系結構 (Learning Computer Architecture with Raspberry Pi)
-
$250科學計算與企業級應用的並行優化
-
$254FPGA 編程從零開始 : 使用 Verilog
-
$480$336 -
$265透視 APT — 賽博空間的高級威脅
-
$505實時語音處理實踐指南
-
$680$537 -
$662敏捷測試 : 以持續測試促進持續交付
-
$800$624 -
$580$458 -
$709FFmpeg 入門詳解 — SDK 二次開發與直播美顏原理及應用
-
$551RTC程序設計:實時音視頻權威指南
相關主題
商品描述
在軟件開發流程中,為了盡可能快地響應各種變化,理應把結構漸進改變作為設計的首要原則。《演進式架構》詳盡闡述了演進式架構的必要性、構建方法以及需要註意的問題。各章結合案例分別討論了軟件架構、適應度函數、開展增量變更、架構耦合、演進式數據、構建可演進的架構、演進式架構的陷阱和反模式,以及實踐演進式架構。
作者簡介
尼爾·福特(Neal Ford)是ThoughtWorks軟件架構師、Meme Wrangler,曾任DSW集團CTO,是國際公認的軟件開發與交付專家。
麗貝卡·帕森斯(Rebecca Parsons)是ThoughtWorks CTO,在大規模分佈式對象應用開發和系統集成方面擁有豐富經驗。
帕特里卡·柯(Patrick Kua)是數字銀行N26科學家,曾任ThoughtWorks主任諮詢師和技術主管,在敏捷和精益開發方面擁有豐富經驗。
目錄大綱
版權聲明ii
O'Reilly Media, Inc.介紹iv
序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