同一データに作用する複数の集約
集約
は
整合性
の制約を保証する役割を担う
集約は整合性の境界
同じデータに作用する
集約
が複数ある場合、どう整合性を保証できるか
e.g.
Account
集約と
MoneyTransfer
集約
どちらもアカウントの残高に作用し、残高がマイナスにならないようにする必要がある
型を使って制約を
モデリング
すれば、
複数の集約間で共有
できる
e.g. 残高がマイナスにならない
NonNegativeMoney
型
できなければ、検証関数の共有でも可能