1つのAggregateの中でのConsistency
同期的にConsistency (ddd)を保つが、Aggregateがそもそもそういうものなので比較的簡単
Consistencyを保つ最も簡単な方法は、毎回計算すればいい
totalAmountというpropertyを持たずに、sum [Orderline.amount]とすれば良い
Accidental Complexityの話とも関連してくるmrsekut.icon
そもそもデータとして持たなければ状態も減るのでそういう嬉しさも得られる
どうしても永続化したい場合
Aggregate Rootが内部のことを全て管理するように実装する
というかAggregateという単位がそもそもそういうものなので、なにか特別なことを考える必要はない
ここでは、Order.totalAmountはPersistent Accidental Complexityということになるmrsekut.icon
/mrsekut-book-4048931164/121: 6.5.1 1つの集約内での整合性