領域驅動設計精粹 (Domain-Driven Design Distilled)

沃恩·弗農 (Vaughn Vernon)

買這商品的人也買了...

商品描述

領域驅動設計是時下軟件設計領域中的熱門話題,它通過指導我們構建領域模型,來表達豐富的軟件功能需求,並由此實現可以滿足用戶真正的需要的軟件。然而在真實的實踐過程中,由於不同的角色對於DDD的核心概念和主要工具的理解不同,常常會造成協作上的不一致。為了幫助和指導面向對象開發人員、系統分析人員和設計人員更加合理地組織工作,各有側重、有條不紊地進行復雜系統的開發,並有效地建立豐富而實用的領域模型。本書的作者Vaughn Vernon(他也是《實現領域驅動設計》)將自己近年來在領域驅動設計領域的理解進一步提煉,並將本書以精粹的形式呈現給廣大的讀者。 本書的內容包括: * DDD對於廣大讀者的意義- DDD 對我而言 * 從戰略層面進行設計 - 如何運用限界上下文和通用語言、子域、上下文映射 * 從戰術層面進行設計 - 如何運用聚合、領域事件 * 相關輔助工具 - 加速和管理工具 當然,僅僅通過此書的閱讀是無法深入的掌握領域驅動設計的精髓,無論你是什麽經驗水平或角色,請閱讀本書並在項目中實踐DDD。並在這之後,再重讀此書,看看你從項目的經歷中學到了什麽,反復這樣的循環,你將會獲益匪淺。

作者簡介

Vaughn Vernon是一位經驗豐富的軟件工匠,也是追求簡化軟件設計和實現的思想領袖。他是暢銷書《實現領域驅動設計》和《響應式架構:消息模式Actor實現與Scala,Akka應用集成》的作者。他在全球面向數百位開發者教授過IDDD課程,並經常在行業會議上發表演講。他對分佈式計算、消息機制、特別是Actor模型非常有興趣。Vaughn擅長領域驅動設計和使用Scala、Akka實現DDD方面的諮詢。

目錄大綱

第1章DDD對我而言1 
DDD很難掌握嗎2 
優秀設計、糟糕設計和有效設計3 
戰略設計8 
戰術設計9 
學習過程與知識提煉10 
讓我們開始吧! 11 

第2章運用限界上下文與通用語言進行戰略設計13 
領域專家和業務驅動20 
案例分析24 
戰略設計是必要的根基28 
在質疑中統一32 
發展通用語言38 
應用場景42 
如何持續45 
架構46 
本章小結50 

第3章運用子域進行戰略設計51 
什麼是子域52 
子域類型53 
應對複雜性54 
本章小結56 

第4章運用上下文映射進行戰略設計57 
映射的種類60 
合作關係60 
共享內核61 
客戶—供應商62 
跟隨者63 
防腐層64 
開放主機服務65 
已發布語言65 
各行其道66 
大泥球67 
善用上下文映射69 
基於SOAP的RPC 70
RESTful HTTP 72 
消息機制74 
上下文映射示例79 
本章小結83 

第5章運用聚合進行戰術設計85 
為什麼使用它86 
聚合的經驗法則91 
規則一:在聚合邊界內保護業務規則不變性92 
規則二:聚合要設計得小巧93 
規則三:只能通過標識符引用其他聚合95 
規則四:利用最終一致性更新其他聚合96 
建立聚合模型99 
慎重選擇抽象級別104 
大小適中的聚合106 
可測試的單元108 
本章小結108 

第6章運用領域事件進行戰術設計111 
設計、實現並運用領域事件113 
事件溯源119 
本章小結121 

第7章加速和管理工具123 
事件風暴124 
其他工具134 
在敏捷項目中管理DDD 135 
運用SWOT分析法137 
建模Spike和建模債務139 
任務識別與工作量估算140 
限制建模時間143 
如何實施144 
和領域專家打交道145 
本章小結147
參考文獻148