blog.bouzuya.net

2021-09-14 集約を強い整合性の境界にすること

集約を強い整合性の境界にすることのメリットって何なんだろう。

https://twitter.com/bouzuya/status/1437608012248608768

集約がトランザクション境界ではない場合はどうなるのかというと、「データの一貫性の境界」がドメインレイヤで表現できなくなる。

https://twitter.com/bouzuya/status/1437610194498772994

後者の場合、結果的に意味論的に巨大な集約を作っていることになり、集約クラスみても実際の整合性の境界が不明瞭になるというデメリットがありますね。あとは分散システムの都合上スケールしなくなるという点(これは要件によりますが) https://twitter.com/j5ik2o/status/1437610943102423044

https://twitter.com/bouzuya/status/1437614990781911042

リポジトリごとに永続化の詳細を隠蔽すると、リポジトリ間をまたがる形に DB のトランザクションを貼ることは無理で、リポジトリを集約単位に作成すると……みたいな感じではある?

https://twitter.com/bouzuya/status/1437616232056832005

……


昨日のレシーバーポインターのツイートに関して何か書きたいが書けていない。

bouzuya/rust-sandbox の stamp-rally の「スタンプラリーごとにスタンプカードの発行枚数の上限がある」制約の実装での迷いについて何か書きたいが書けていない。


今日のコミット。