DDD:用 “四色原型” 進行 “職責分配”


這篇博客是DDD:用 “四色原型” 進行 “聚合設計”的延伸版。

職責分配

聚合

維護內部狀態的一致性。換句話說,聚合的職責只限於維護期自身的狀態。可以將聚合的職責分為兩類:

  1. 修改職責:只能修改聚合本身的狀態,關聯的其它聚合信息不能修改。
  2. 讀取職責:可以讀取聚合本身的狀態,關聯的其它聚合信息也能讀取。

角色

維護一個聚合實例業務邏輯的一致性。因為有些聚合實例的業務邏輯會依賴很多外部服務:如倉儲、領域服務等。常見的場景如下:

  1. 前置條件:修改內部狀態時,必須滿足的條件。
  2. 唯一性驗證:某些狀態必須唯一。
  3. 計算邏輯:此處多數采用狀態模式或策略模式。

領域服務

維護多個聚合實例(跨聚合)業務邏輯的一致性。

工廠

維護聚合的創建邏輯。

倉儲

維護聚合的持久化邏輯。

 引入工作單元后的聚合生命周期

代碼示例

分析模型

設計模型

項目結構

代碼下載

感謝360雲盤提供的空間:http://yunpan.cn/QWqewDLDKY4vk

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM