DDD 學習路徑與資源分享

Highlights

  • 工廠 Factory
    同 GoF 的工廠樣式,在 DDD 中用於處理聚合生成較為複雜的情境

    • Note: 是simple factor就好了嗎
  • 倉儲 Repository
    這是一個保存領域物件的狀態的設計模式,可以轉接資料庫、 ORM 或檔案系統。一般使用上會考慮一個聚合對上一個倉儲

    • Note: 再次確認一下MVC中的M, 字面上意義我覺得看起來還是非常像
  • 聚合 Aggregate
    由相關業務目標的物件 包含實體與值物件 所組成,一個聚合即為一個 Transaction 的邊界。並且會在其中選擇一個實體 作為聚合根 Aggregate Root ,所有與外界的溝通都必須交由聚合根來負責。

    • Note: 前端的角度來看的話,可能是一個store
  • 領域事件 Domain Event
    某件領域專家在乎的事件,通常用於聚合間的溝通

    • Note: Application layer的操作嗎
  • 值物件 Value Object
    無 identity 概念、狀態不可變更的物件 object,用於描述某個事物的特徵。

    • Note: 看起來是指物件屬性? 會是像 interface嗎?
  • 應用服務 Application Service
    等同於系統的使用案例,主要負責技術細節並呼叫領域物件或領域服務處理業務邏輯。

    • Note: 剛剛的 domain event應該不是
  • 實體 Entity
    能被識別出來的物件 有 id。 Entity 的狀態會在其生命週期中持續追蹤其變化

    • Note: 這件事會有點讓我疑惑,我可能不希望他自己有儲存狀態