質問
イベントソーシングをどのように組み合わせることができますか Country
, Region
, Time Zone
など、特定のドメインモデルからの辞書タイプ Budget
また Availability
定義。一部の辞書オブジェクトは、管理UIで編集できる必要がありますが、一部はそうではありません。
たとえば、私たちは、国の管理UIを必要としないことを決定しました。したがって、実装する必要はありません AddCountry
/RemoveCountry
コマンド。
のセットを生成する必要があります CountryAdded
イベントすなわち、イベントのストリームとして辞書オブジェクトを保持する必要がありますか? Event Stream以外の真実の源を使用したことはありますか?
辞書オブジェクトのためにストリームを使用せずに行けない場合、この問題を解決する方法:
各国のユーザー数がある国のリストを表示します。
この場合、表現が必要です Country
リスナーを使用した読みモデルのオブジェクト UserAdded
イベント。
ありがとうございました。
解決
イベントソーシングを永続化メカニズムとして使用する場合、次のとおりです。
- イベントストリームは真実の唯一のソースです(イベントストリームから生成されたオブジェクトスナップショットは、パフォーマンスを改善するために使用できますが、それらは単なるテクニックです)。
- イベントソーシングを使用する場合、イベントを明示的に生成する必要はありません。コマンドの処理中に生成された実際のイベントを公開するだけです。
- 国の事前定義されたリストがある場合、それは決して変更されないでしょう、あなたは彼らの国コードでハードコードとそれらを参照することができます。ただし、これは、ビューモデルとUIがそれについて知っており、国が変わらないことを意味します。
ところで、これらのような質問を投稿することをお勧めします DDD/CQRSグループ. 。これは、CQRS/DDD/ESの質問に関する最も活発なコミュニティです。
所属していません StackOverflow