領域驅動設計工作坊
鄭天民
- 出版商: 人民郵電
- 出版日期: 2024-09-01
- 售價: $479
- 貴賓價: 9.5 折 $455
- 語言: 簡體中文
- 頁數: 222
- 裝訂: 平裝
- ISBN: 711564134X
- ISBN-13: 9787115641342
-
相關分類:
Domain-Driven Design
立即出貨 (庫存=1)
買這商品的人也買了...
-
$653實現領域驅動設計 (Implementing Domain-Driven Design)
-
$680$530 -
$403軟件困局:為什麽聰明的程序員會寫出糟糕的代碼
-
$474$450 -
$534$507 -
$980$774 -
$600$468 -
$1,000$660 -
$560Spring微服務實戰(第2版)
-
$580$458 -
$449人工智能時代與人類未來
-
$1,180$900 -
$510軟件開發珠璣:穿越50年軟件往事的60條戒律
-
$469軟體彈性設計:如何避免陷入程式設計困境
-
$580$458 -
$1,280$998 -
$880$695 -
$419$398 -
$850$638 -
$650$514 -
$650$507 -
$648$616 -
$1,000$790 -
$630$498 -
$880$695
相關主題
商品描述
本書通過一個完整項目案例由淺入深地介紹了業務建模和軟件設計的方法論——領域驅動設計(Domain Driven Design,DDD)。首先,本書介紹了DDD的基本概念和主流設計方法,同時引入貫穿全書的案例系統,並完成案例系統的基礎設計;其次,圍繞DDD的統一語言、子域和限界上下文展開討論,探討從問題空間進入解空間的解決方案;再次,從領域建模範式講起,詳細分析實體、值對象、聚合、領域服務、應用服務和領域事件等DDD中與戰術設計相關的核心概念,並給出各個組件的設計方法和使用技巧;最後,圍繞常見領域驅動架構模式及DDD架構考量,給出DDD的架構設計和整合方案。
本書結構清晰、內容豐富、圖文並茂,適合團隊負責人、業務設計人員、系統設計人員以及架構師等閱讀。
作者簡介
郑天民,日本足利工业大学信息工程学硕士,拥有十余年软件行业从业经验,目前在一家大健康领域的创新型科技公司担任CTO,负责产品研发与技术团队管理工作。他开发过十余个面向开发人员的技术和管理类培训课程项目,在架构设计和技术管理方面有丰富的经验。他是阿里云MVP、腾讯云TVP、TGO鲲鹏会会员。他著有《Apache ShardingSphere实战》《Spring响应式微服务:Spring Boot 2+Spring 5+Spring Cloud实战》《系统架构设计》《微服务设计原理与架构》《Spring Security原理与实践》等图书。
目錄大綱
基礎概念篇
第 1章 領域驅動設計體系 2
1.1 軟件復雜度剖析 2
1.1.1 軟件復雜度與規模 3
1.1.2 軟件復雜度與結構 6
1.1.3 軟件復雜度與變化 10
1.2 引入領域驅動設計 14
1.2.1 領域驅動設計基礎 14
1.2.2 領域驅動戰略設計 18
1.2.3 領域驅動戰術設計 20
1.2.4 領域驅動設計和軟件復雜度 24
1.3 領域驅動設計與架構融合 28
1.3.1 領域驅動設計與單體應用 28
1.3.2 領域驅動設計與微服務架構 29
1.3.3 領域驅動設計與中台架構 30
1.4 本章小結 31
第 2章 工作坊案例系統 32
2.1 工作坊的基本概念和開展方式 32
2.1.1 工作坊的基本概念 32
2.1.2 準備工作 33
2.1.3 流程和階段 35
2.2 案例系統介紹 36
2.3 案例系統基礎設計 37
2.3.1 基礎設計目標 37
2.3.2 基礎設計流程 38
2.3.3 基礎設計交付物 39
2.4 本章小結 44
戰略設計篇
第3章 統一語言與子域 46
3.1 統一語言 46
3.1.1 溝通的問題和策略 46
3.1.2 統一語言的結構化表述 48
3.1.3 統一語言的實現模式 50
3.2 子域 53
3.2.1 子域的劃分方法 54
3.2.2 子域的分類和映射 54
3.3 本章小結 56
第4章 限界上下文 57
4.1 引入限界上下文 57
4.1.1 限界上下文的定義 58
4.1.2 限界上下文的特性 59
4.1.3 限界上下文的設計 62
4.2 識別限界上下文 63
4.2.1 從業務維度識別限界上下文 63
4.2.2 從工作維度識別限界上下文 65
4.2.3 從技術維度識別限界上下文 65
4.3 限界上下文映射 67
4.3.1 上下游關系和映射 67
4.3.2 團隊協作模式 68
4.3.3 通信集成模式 72
4.3.4 影響上下文映射的考量點 76
4.4 限界上下文案例講解 79
4.5 本章小結 82
第5章 事件風暴 83
5.1 探索業務全景 83
5.2 實施事件風暴 84
5.2.1 事件風暴基本概念 84
5.2.2 事件風暴實施方法 89
5.3 事件風暴應用實踐 97
5.3.1 事件風暴流程裁剪 97
5.3.2 事件風暴最佳實踐 98
5.4 事件風暴案例講解 100
5.5 本章小結 101
第6章 戰略設計工作坊演練 102
6.1 案例系統戰略設計 102
6.1.1 戰略設計目標 102
6.1.2 戰略設計流程 103
6.2 戰略設計工作坊演練環節 104
6.2.1 事件建模 104
6.2.2 聚合分析 108
6.2.3 子域劃分 116
6.2.4 限界上下文映射 118
6.3 戰略設計工作坊演練最佳實踐 120
6.3.1 事件的建模 122
6.3.2 核心領域概念的處理 123
6.4 本章小結 124
戰術設計篇
第7章 實體和值對象 126
7.1 控制類的組成 126
7.2 實體 128
7.2.1 實體的唯一標識和屬性 128
7.2.2 實體的領域行為 131
7.3 值對象 133
7.3.1 值對象的識別 133
7.3.2 值對象的特徵 134
7.4 實體和值對象建模案例講解 136
7.5 本章小結 138
第8章 聚合 140
8.1 控制類的關系 140
8.2 引入聚合 141
8.2.1 聚合的定義和特徵 142
8.2.2 聚合的設計原則 143
8.3 聚合的協作方式 144
8.3.1 聚合的關聯關系 145
8.3.2 聚合的依賴關系 147
8.4 聚合生命周期管理 147
8.4.1 工廠 148
8.4.2 資源庫 149
8.5 聚合設計案例講解 153
8.6 本章小結 155
第9章 服務、事件與基礎設施 156
9.1 領域服務 156
9.1.1 領域服務的示例 156
9.1.2 領域服務的應用場景 157
9.2 應用服務 159
9.2.1 應用服務的定位 159
9.2.2 應用服務的應用場景 162
9.2.3 應用服務的設計原則 164
9.3 領域事件 166
9.3.1 領域事件和事件驅動架構 166
9.3.2 領域事件的發布和訂閱 168
9.4 基礎設施 172
9.5 本章小結 174
第 10章 戰術設計工作坊演練 175
10.1 案例系統戰術設計 175
10.1.1 戰術設計目標 175
10.1.2 戰術設計流程 176
10.2 戰術設計工作坊演練環節 177
10.2.1 戰術設計效果展示 177
10.2.2 設計聚合、實體和值對象 178
10.2.3 設計事件和服務 180
10.2.4 設計限界上下文核心業務操作 181
10.3 戰術設計工作坊演練最佳實踐 185
10.3.1 聚合的設計 185
10.3.2 值對象的設計 186
10.4 本章小結 187
架構設計篇
第 11章 領域驅動實現架構 190
11.1 常見領域驅動架構模式 190
11.1.1 DDD經典分層架構 190
11.1.2 DDD整潔架構 194
11.1.3 DDD六邊形架構 195
11.1.4 DDD架構的映射性 197
11.2 領域驅動設計的架構考量 198
11.2.1 限界上下文的物理表現 199
11.2.2 CQRS和DDD 202
11.2.3 事件溯源和CQRS 205
11.2.4 數據一致性 208
11.3 本章小結 209
第 12章 架構設計工作坊演練 210
12.1 案例系統架構設計 210
12.1.1 架構設計目標 210
12.1.2 架構設計流程 211
12.2 架構設計工作坊演練環節 212
12.2.1 劃分業務服務 212
12.2.2 確定業務服務操作 213
12.2.3 觸發領域事件 214
12.2.4 實現業務服務交互 215
12.3 架構設計工作坊演練最佳實踐 216
12.3.1 整合戰略設計和戰術設計 219
12.3.2 事件與柔性事務 219
12.3.3 查詢類操作的設計 220
12.4 本章小結 222