注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計領域驅動設計學習手冊

領域驅動設計學習手冊

領域驅動設計學習手冊

定 價:¥98.00

作 者: [以色列]弗拉德·霍諾諾夫(Vlad Khononov)
出版社: 中國電力出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787519876333 出版時間: 2023-04-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

  本書的主要內容有:如何分析公司的業(yè)務領域,了解你正在構建的系統(tǒng)如何符合其競爭戰(zhàn)略。如何使用領域驅動設計的戰(zhàn)略和戰(zhàn)術工具來構建有效的軟件解決方案,從而滿足業(yè)務需求。如何建立對你遇到的業(yè)務領域知識的共同理解。如何將系統(tǒng)分解為限界上下文。如何協調多個團隊的工作。如何在遺留系統(tǒng)改造項目中,循序漸進地引入領域驅動設計。

作者簡介

  Vlad(Vladik)Khononov是一名軟件工程師,他擁有超過20年的行業(yè)經驗。在此期間,他曾為不同類型的公司工作過,并擔任過從網站管理員到首席架構師等各種職務。作為領域驅動設計的長期支持和倡導者,Vlad幫助企業(yè)理解其業(yè)務領域,梳理遺留系統(tǒng),并應對復雜架構的挑戰(zhàn)。

圖書目錄

目錄
序 1
前言 3
第0 章 引言 11
部分 戰(zhàn)略設計
第1 章 分析業(yè)務領域 15
1.1 什么是業(yè)務領域 15
1.2 什么是子域 16
1.2.1 子域的類型 16
1.2.2 子域對比 .19
1.2.3 識別子域的邊界 23
1.3 領域分析案例 .26
1.3.1 Gigmaster 26
1.3.2 BusVNext 28
1.4 誰是領域專家 .29
1.5 本章小結30
1.6 本章練習31
第2 章 探索領域知識 33
2.1 業(yè)務問題33
2.2 知識的發(fā)現 34
2.3 溝通 .34
2.4 什么是通用語言 36
2.5 業(yè)務語言37
2.5.1 場景 37
2.5.2 一致性 38
2.6 業(yè)務領域模型 .39
2.6.1 什么是模型 39
2.6.2 有效的模型 40
2.6.3 為業(yè)務領域建模 40
2.6.4 持續(xù)的努力 41
2.6.5 工具 41
2.6.6 挑戰(zhàn) 42
2.7 本章小結43
2.8 本章練習43
第3 章 管理領域復雜性 .45
3.1 不一致的模型 .45
3.2 什么是限界上下文 47
3.2.1 模型邊界 .48
3.2.2 精練通用語言 49
3.2.3 限界上下文的范圍 .49
3.3 限界上下文與子域的對比 50
3.3.1 子域 51
3.3.2 限界上下文 51
3.3.3 子域與限界上下文之間的交互 .51
3.4 邊界 .53
3.4.1 物理邊界 .53
3.4.2 所有權邊界 54
3.5 現實生活中的限界上下文 54
3.5.1 語義域 55
3.5.2 科學 55
3.5.3 買一個冰箱 56
3.6 本章小結58
3.7 本章練習59
第4 章 集成限界上下文 .61
4.1 協作 .62
4.1.1 合作 62
4.1.2 共享內核 .63
4.2 客戶?C 供應商 .65
4.2.1 跟隨者 65
4.2.2 防腐層 66
4.2.3 開放主機服務 67
4.3 各行其道68
4.3.1 溝通問題 .68
4.3.2 通用子域 .68
4.3.3 模型差異 .69
4.4 上下文映射圖 .69
4.4.1 維護 70
4.4.2 限制 70
4.5 本章小結70
4.6 本章練習72
第二部分 戰(zhàn)術設計
第5 章 實現簡單業(yè)務邏輯 .75
5.1 事務腳本75
5.1.1 實現 76
5.1.2 現實并非那么簡單 .76
5.1.3 何時使用事務腳本 .81
5.2 活動記錄82
5.2.1 實現 82
5.2.2 何時使用活動記錄 .83
5.3 讓我們更務實一些 84
5.4 本章小結84
5.5 本章練習85
第6 章 應對復雜業(yè)務邏輯 .87
6.1 歷史背景87
6.2 領域模型88
6.2.1 實現 89
6.2.2 構件 89
6.2.3 管理復雜性 . 107
6.3 本章小結. 108
6.4 本章練習. 109
第7 章 時間維度建模 .111
7.1 事件溯源. 111
7.1.1 搜索 . 116
7.1.2 分析 . 118
7.1.3 事實來源 119
7.1.4 事件存儲 120
7.2 事件溯源領域模型 . 121
7.2.1 優(yōu)勢 . 123
7.2.2 劣勢 . 124
7.3 常見問題. 125
7.3.1 性能 . 125
7.3.2 刪除數據 127
7.3.3 為什么不能做這些…… . 127
7.4 本章小結. 128
7.5 本章練習. 128
第8 章 架構模式 . 131
8.1 業(yè)務邏輯與架構模式 131
8.2 分層架構模式 132
8.2.1 表示層 132
8.2.2 業(yè)務邏輯層 . 133
8.2.3 數據訪問層 . 133
8.2.4 各層之間的通信 134
8.2.5 分層架構的異化 134
8.2.6 何時使用分層架構模式 . 139
8.3 端口?C 適配器架構模式 140
8.3.1 術語 . 140
8.3.2 依賴倒置原則 . 141
8.3.3 架構組件的集成 142
8.3.4 端口?C 適配器架構的變體 143
8.3.5 何時使用端口?C 適配器架構模式 . 143
8.4 命令?C 查詢職責分離模式 . 143
8.4.1 混合語言建模 . 144
8.4.2 CQRS 模式的實現 144
8.4.3 投影讀取模型 . 145
8.4.4 面臨的挑戰(zhàn) . 147
8.4.5 模型分解 148
8.4.6 何時使用CQRS 架構 . 148
8.5 本章范圍. 149
8.6 本章小結. 149
8.7 本章練習. 150
第9 章 通信模式 . 153
9.1 模型轉換. 153
9.1.1 無狀態(tài)模型轉換 154
9.1.2 有狀態(tài)模型轉換 156
9.2 聚合的整合 158
9.2.1 發(fā)件箱模式 . 161
9.2.2 業(yè)務旅程 163
9.2.3 流程管理器 . 166
9.3 本章小結. 170
9.4 本章練習. 170
第三部分 領域驅動設計的應用實踐
第10 章 設計的啟示 . 175
10.1 啟示 175
10.2 限界上下文 . 176
10.3 業(yè)務邏輯實現模式 177
10.4 架構模式 179
10.5 測試策略 180
10.5.1 測試金字塔 181
10.5.2 測試菱形 181
10.5.3 反向測試金字塔 . 181
10.6 戰(zhàn)術設計決策樹 182
10.7 本章小結 183
10.8 本章練習 183
第11 章 設計決策的演進 . 185
11.1 業(yè)務領域的變化 185
11.1.1 核心子域向通用子域轉變 .186
11.1.2 通用子域向核心子域轉變 .186
11.1.3 支撐子域向通用子域轉變 .187
11.1.4 支撐子域向核心子域轉變 .187
11.1.5 核心子域向支撐子域轉變 .187
11.1.6 通用子域向支撐子域轉變 .187
11.2 戰(zhàn)略設計的顧慮 188
11.3 戰(zhàn)術設計的顧慮 189
11.3.1 事務腳本模式向活動記錄模式轉變 .189
11.3.2 活動記錄模式向領域模型模式轉變 .189
11.3.3 領域模型模式向事件溯源領域模型模式轉變 .191
11.3.4 生成過去事務 191
11.3.5 為遷移事件建模 .193
11.4 組織變革 193
11.4.1 從合作關系到客戶?C 供應商關系 194
11.4.2 從客戶?C 供應商關系到各行其道關系 .194
11.5 領域知識 194
11.6 增長 195
11.6.1 子域 196
11.6.2 限界上下文 197
11.6.3 聚合 197
11.7 本章小結 198
11.8 本章練習 198
第12 章 事件風暴 201
12.1 什么是事件風暴 201
12.2 誰應該參與事件風暴 . 201
12.3 需要什么來引導事件風暴 202
12.4 事件風暴流程 203
12.4.1 步:非結構化探索 203
12.4.2 第二步:時間線 . 204
12.4.3 第三步:痛點 205
12.4.4 第四步:關鍵事件 206
12.4.5 第五步:命令 206
12.4.6 第六步:策略 207
12.4.7 第七步:讀模型 . 208
12.4.8 第八步:外部系統(tǒng) 209
12.4.9 第九步:聚合 209
12.4.10 第十步:限界上下文 . 209
12.5 變體 210
12.6 何時使用事件風暴 211
12.7 引導技巧 212
12.7.1 觀察動態(tài) 213
12.7.2 遠程事件風暴 213
12.8 本章小結 213
12.9 本章練習 214
第13 章 真實世界中的領域驅動設計 215
13.1 戰(zhàn)略分析 216
13.1.1 理解業(yè)務領域 216
13.1.2 探索當前的設計 . 217
13.2 現代化戰(zhàn)略 . 218
13.2.1 戰(zhàn)略現代化 219
13.2.2 戰(zhàn)術現代化 221
13.2.3 培養(yǎng)通用語言 221
13.3 實用領域驅動設計 224
13.4 推銷領域驅動設計 225
13.5 本章小結 227
13.6 本章練習 228
第四部分 與其他方法論和模式的關系
第14 章 微服務 231
14.1 什么是服務 . 231
14.2 什么是微服務 232
14.2.1 方法即服務:完美的微服務 233
14.2.2 設計目標 234
14.2.3 系統(tǒng)復雜度 235
14.2.4 微服務即深度服務 236
14.2.5 微服務即深模塊 . 237
14.3 領域驅動設計和微服務的邊界 . 239
14.3.1 限界上下文 239
14.3.2 聚合 241
14.3.3 子域 242
14.4 壓縮微服務的公共接口 243
14.4.1 開放主機服務 243
14.4.2 防腐層 . 244
14.5 本章小結 244
14.6 本章練習 245
第15 章 事件驅動架構 . 247
15.1 事件驅動架構概述 247
15.2 事件 248
15.2.1 事件、命令與消息 248
15.2.2 事件結構 249
15.2.3 事件類型 249
15.3 設計事件驅動集成 255
15.3.1 分布式的大泥球 . 255
15.3.2 時域耦合 256
15.3.3 功能耦合 257
15.3.4 實現耦合 257
15.3.5 重構事件驅動集成 257
15.3.6 事件驅動設計的啟示 258
15.4 本章小結 260
15.5 本章練習 260
第16 章 數據網格 263
16.1 分析型數據模型與事務型數據模型 263
16.1.1 事實表 . 264
16.1.2 維度表 . 266
16.1.3 分析模型 267
16.2 分析數據管理平臺 268
16.2.1 數據倉庫 268
16.2.2 數據湖 . 271
16.2.3 數據倉庫和數據湖架構的挑戰(zhàn) 272
16.3 數據網格 273
16.3.1 圍繞領域分解數據 273
16.3.2 數據即產品 274
16.3.3 賦能自治 276
16.3.4 構建生態(tài)系統(tǒng) 276
16.3.5 結合數據網格和領域驅動設計 276
16.4 本章小結 278
16.5 本章練習 278
第17 章 結束語 281
17.1 問題 281
17.2 解決方案 282
17.3 實現 282
17.4 深入閱讀 282
17.4.1 先進領域驅動設計 282
17.4.2 架構與集成模式 . 284
17.4.3 遺留系統(tǒng)的現代化改造 284
17.4.4 事件風暴 285
17.5 全書總結 285
附錄A 應用領域驅動設計的案例 287
附錄B 練習題參考答案 303
參考資料 311

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號