整理一個精簡的DDD領域建模基本流程,供你們在DDD領域建模實踐中進行參考。spa
- 蒐集用戶故事(用戶的原始需求)
- 整理用戶故事,抽出用例(用例表達了用戶對系統的需求,定義了系統的邊界以及系統外部角色和系統的交互場景)
- 分析系統需求,將領域拆分爲多個子域(領域是問題空間,本質上就是大問題拆分爲小問題)
- 抽取每一個子域的領域概念,獲得概念模型(概念模型存在於問題空間)
- 將子域的概念模型抽象並轉化爲領域模型(領域模型存在於解決方案空間,這一步是難點,考驗抽象能力,如對關係的建模,如促銷系統中抽象出促銷產品,權限系統中抽象出受權)
- 找出領域模型中的聚合,以及每一個聚合的聚合根
- 梳理聚合之間的關係
- 場景走查,檢查領域模型如何知足用例需求
在以上過程當中,還有兩點也是很是重要的:產品
- 逐步積累一個統一語言(UL)的領域術語表,方便各方人員溝通;
- 除了領域建模外,針對每一個用例場景,嘗試畫一下系統順序圖也頗有用,系統順序圖定義了系統外部角色和系統之間在某個場景下的具體交互流程;