なんだか眠い。のどが痛い。調子が悪い。
前に書いた twiq 実装メモ (2022-10-01) が役に立った。なぜ AggregateId と EventStreamId を兼ねるとまずいかを考える際に twiq でなぜそうしたのかをおおむね思い出すことができた。 twiq では Event のメタデータとペイロードを分離している。 EventStreamId はメタデータ側に居る。 domain の event はペイロードだけを持っている。メタデータにだけ EventStreamId を持たせるとペイロードから Aggregate を復元する際に余計な処理が必要になる。ペイロードに AggregateId が含まれていないと常にメタデータも取り回さないといけなくなる。両方に持たせる場合、不一致を調べたくなるが面倒。いっそ分けておいたほうが良い。……ちょっと怪しいけどそんな感じの判断。
空気清浄機のフィルタを交換した。
twiq 実装メモ (41)
- Firestore 関連の共通コードが気になったので FirestoreTransaction として切り出したけどあまり良くなさそう
- transaction 以外の情報が多い FirestoreContext とでも言うべき状態
- パス生成も混じっていて何がなんだか……
- パス生成をとりあえず helper 側に切り出す
今日のコミット。