還記得我們談過的 Bounded Context 與 Entity 吧 ? 下圖這張圖就是 Aggregate 所代表的意義 :
Aggregate 本來可以想成是『 業務的整體 』,基本上可以我們常聽到的事務來連聯想,也就是說這個 Aggregate 有個狀態,簡單的範例你可以想成有個訂單,然後它裡面有以下的東西 :
然後想成這個 order aggregate 有一個狀態可能為『 已付款 』,那這時每個 entiry 的狀態也都是要符合已付款的狀態,例如 :
所以簡單總結一下 Aggregate 是什麼 :
它本身是一個業務的狀態機,它需要能『 保證達到業務狀態一致性 』的功能。