注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學復雜軟件設計之道:領域驅動設計全面解析與實戰(zhàn)

復雜軟件設計之道:領域驅動設計全面解析與實戰(zhàn)

復雜軟件設計之道:領域驅動設計全面解析與實戰(zhàn)

定 價:¥119.00

作 者: 彭晨陽 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111661122 出版時間: 2020-08-01 包裝: 平裝
開本: 16開 頁數(shù): 352 字數(shù):  

內容簡介

  領域驅動設計簡稱DDD,《復雜軟件設計之道:領域驅動設計全面解析與實戰(zhàn)》前6章全面解析了DDD的分析方法和技術架構,包括領域驅動設計基礎、領域驅動戰(zhàn)略設計(有界上下文和統(tǒng)一語言)、聚合設計、實體和值對象、CQRS架構和事件溯源,第7章使用經(jīng)典的貨物運輸系統(tǒng)案例進行了完整、詳細的綜合演示。 《復雜軟件設計之道:領域驅動設計全面解析與實戰(zhàn)》同時引入了DDD的*新發(fā)展成果,如事件風暴建模,并以此建模方式替代傳統(tǒng)的DDD建模方式講解了多個案例。還涉及大量軟件系統(tǒng)實現(xiàn)相關的技術和架構,讀者在學習DDD的同時,也可以掌握這些技術、架構在DDD實現(xiàn)中的靈活應用。 另外,每個概念或方法的講解過程都穿插了具體實例,以方便讀者結合實例進行學習;第2~7章每章*后都有總結與拓展,將本章涉及的案例和知識進行總結,并引入國際DDD專家的心得經(jīng)驗,試圖告訴讀者一條DDD實戰(zhàn)中行之有效的途徑。 《復雜軟件設計之道:領域驅動設計全面解析與實戰(zhàn)》主要面向擁有一定實踐經(jīng)驗的軟件產品經(jīng)理、領域專家、軟件設計開發(fā)相關從業(yè)人員,相關初級從業(yè)者也可閱讀本書。

作者簡介

  作者彭晨陽,常用網(wǎng)名板橋(bang),DDD等軟件架構專研網(wǎng)站——解道(Jdon)的創(chuàng)辦者,長期關注國內外軟件架構思想和設計開發(fā)的新動向,自DDD提出以來,持續(xù)研究與實踐DDD。 行業(yè)經(jīng)驗——具有近30年的軟件系統(tǒng)設計與開發(fā)經(jīng)驗,以及豐富的領域實戰(zhàn)經(jīng)驗,包括ERP、電子商務、政務、電力、銀行、大型游戲等。 培訓經(jīng)歷——致力于傳播軟件設計開發(fā)新思想、新技術,曾為近百家企業(yè)提供培訓咨詢服務,包括華為、阿里等企業(yè)。 擅長方向——系統(tǒng)架構設計與實現(xiàn),設計模式與框架,并發(fā)編程和微服務、區(qū)塊鏈等分布式系統(tǒng)與事務。擅長復雜系統(tǒng)的軟件架構和領域建模。

圖書目錄

前言

第1章 領域驅動設計基礎1
11 領域驅動設計的起源與發(fā)展1
111 程序員為難之處1
112 技術負債與軟件質量3
113 ER數(shù)據(jù)建模與面向對象建模4
114 DDD的誕生和發(fā)展6
12 領域驅動設計的特點9
121 發(fā)現(xiàn)和理解問題10
122 領域即邊界13
123 解決復雜性15
124 新的數(shù)據(jù)結構設計方式17
125 需要注重產品的程序員18
13 領域驅動設計的難點20
131 業(yè)務策略和業(yè)務規(guī)則21
132 統(tǒng)一語言與有界上下文25
133 領域模型的提煉26
14 領域驅動設計的應用場景29
141 哪些應用不適合?30
142 適合微服務架構30
第2章 領域驅動戰(zhàn)略設計31
21 有界上下文31
211 統(tǒng)一語言:統(tǒng)一項目中的交流
語言32
212 如何發(fā)現(xiàn)有界上下文和統(tǒng)一
語言?34
213 有界上下文之間的關系36
214 核心子域、支持子域與通用
子域37
215 實例解析:電費結算系統(tǒng)38
22 按時間線發(fā)現(xiàn)有界上下文40
221 UML時序圖40
222 實例解析:電商領域之商品管理
上下文41
23 通過領域故事或流程發(fā)現(xiàn)有界
上下文45
24 通過事件風暴會議發(fā)現(xiàn)有界
上下文48
241 領域事件50
242 命令51
243 事件風暴建模法53
244 實例解析:一個典型的事件風暴
建模議程56
25 業(yè)務平臺與中臺設計60
26 總結與拓展62
第3章 聚合設計68
31 聚合設計的概念68
311 高聚合低關聯(lián)71
312 聚合的邏輯一致性74
32 設計聚合的幾種方法77
321 改變主謂賓順序78
322 根據(jù)領域事件設計聚合79
323 根據(jù)單一職責設計聚合81
324 按時間邊界設計聚合83
325 通過事務邊界設計聚合87
326 通過ER模型設計聚合89
33 實例解析:訂單系統(tǒng)中的聚合
設計95
331 信息擁有者模式97
332 引用模式99
333 奧卡姆剃刀原理100
334 控制者模式101
335 訂單狀態(tài)集中控制實現(xiàn)103
336 做什么和怎么做的分離106
337 在服務中驗證聚合107
338 Spring Boot實現(xiàn)110
34 總結與拓展115
第4章 實體和值對象121
41 失血/貧血模型121
42 實體124
421 實體的標識125
422 實體的設計126
423 實體對象的創(chuàng)建128
43 值對象131
431 值對象與實體的區(qū)別134
432 用值對象重構138
44 領域服務140
441 領域服務的特征141
442 領域服務與應用服務144
45 倉儲147
451 自行實現(xiàn)倉儲148
452 結合Builder模式實現(xiàn)倉儲151
46 充血模型的設計原則154
461 將公有setter方法變?yōu)樗接?55
462 注重對象的構建157
47 實例解析:論壇系統(tǒng)實體和
值對象設計159
471 聚合根實體是什么?161
472 值對象的設計164
473 狀態(tài)設計167
474 發(fā)帖功能實現(xiàn)170
475 雙聚合根173
476 分配職責行為176
477 構建對象必須遵循唯一性179
48 總結與拓展184
第5章 CQRS架構186
51 DDD架構介紹187
511 MVC模式187
512 傳統(tǒng)三層架構188
513 傳統(tǒng)DDD分層架構191
514 清潔架構194
515 六邊形架構198
516 垂直切片架構201
52 CQRS架構的特點203
53 命令和查詢分離205
531 查詢模型實現(xiàn)206
532 命令模型實現(xiàn)210
533 Command對象212
534 命令和查詢的協(xié)作216
54 不同的數(shù)據(jù)訪問方式219
541 查詢端存儲實現(xiàn)220
542 規(guī)格模式221
543 命令與查詢的同步224
55 CAP定理226
56 領域事件實現(xiàn)數(shù)據(jù)同步227
57 實例解析:使用Axon框架
實現(xiàn)CQRS231
571 命令端實現(xiàn)233
572 查詢端實現(xiàn)236
58 總結與拓展237
第6章 事件溯源241
61 什么是事件溯源?242
62 基于事件溯源的聚合根設計249
621 用事件替代狀態(tài)249
622 活動與事件253
63 事件溯源的優(yōu)點260
631 替代分布式事務261
632 事件日志的順序性263
633 基于事件日志的消息系統(tǒng)265
64 微服務中的分布式事務
實現(xiàn)266
641 引入Saga模式267
642 Saga分布式事務原理267
643 實例解析:賬戶轉賬271
65 使用Apache Kafka實現(xiàn)事件
溯源275
66 投射模式280
67 更改數(shù)據(jù)捕獲(CDC)282
68 總結與拓展285
第7章 貨物運輸系統(tǒng)290
71 領域描述290
72 從流程中發(fā)現(xiàn)領域事件294
721 受理流程295
722 作業(yè)流程298
73 概念挖掘301
731 劃分有界上下文302
732 預訂受理上下文304
733 運輸作業(yè)上下文306
74 預訂受理的聚合設計309
741 聚合的發(fā)現(xiàn)和命名309
742 聚合設計313
743 狀態(tài)設計316
744 命令與事件設計317
745 代碼實現(xiàn)320
746 設計和實現(xiàn)的差異325
75 運輸作業(yè)的聚合設計327
751 命令、事件和聚合328
752 有界上下文映射331
753 聚合重構設計334
76 總結與拓展336

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號