blog.bouzuya.net

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 のグループ

今日のコミット。