2022-11-01 のどが痛い
2022-11 にはいった。のどが痛い。どうも調子が悪い。
twiq 実装メモ (42)
Repository::store(precondition: Option<Version>, a: Aggregate)
EventStream と Aggregate 。
- EventStreamId と AggregateId は同一の値でも機能するが別のものではある
- EventStream は Event をグループ化したもので Event の並び (EventStreamSeq) を持っている
- Event は EventStreamId と EventStreamSeq で UNIQUE になる
- EventStream は EventStore 側から見たときの Event のグループ
- Aggregate は (いろいろな役割があるのだけど) Event を発行するもの
- Aggregate は Event の発行可否をその直前の状態 (Event を畳み込んでつくった State) から判断する
- Aggregate にとって Event の並びには意味がある
- Aggregate は Event の発行の都度 Version を更新する (Event ごとに Version を持っている)
- Event は AggregateId と Version で UNIQUE になる
- Aggregate は Domain Model 側から見たときの Event のグループ
今日のコミット。