0

今日作成された多くのCQRSフレームワークから学ぼうとしました。ARが状態を変更すると、最初にイベントを保存することがわかりました。イベントがイベントストアに入ると、メモリ内のARオブジェクトを変更で更新します。これを行う理由はありますか?ほとんどのCQRS実装では、作業単位は内部静的オブジェクトを使用してスレッドを要求するように関連付けられています。だから私の質問は、イベントがイベントストアに保存されたら、メモリ内のARオブジェクトを更新することが本当に必要ですか?

私はCQRSの世界を理解し始めたばかりなので、疑いは愚かに見えるかもしれません。

4

2 に答える 2

2

イベントハンドラーでAggregateを更新すると、履歴イベントのリスト(EventStore)からAggregateを再作成できます。イベントハンドラの外部で内部状態を更新すると、Aggregateを正しく再構築できない場合があります。

于 2012-08-07T17:53:53.510 に答える
0

学習するだけですが、将来のビジネス上の意思決定のために状態の更新が必要な場合にのみ、内部の状態の更新が必要になると思います。つまり、コマンドに基づいて、どのイベントを発生させるかを決定します。

もちろん、別の方法は、受信したコマンドごとにイベントストアから必要な状態を再構築することですが、内部状態を維持することは、このプロセスの一種のキャッシュメカニズムと見なすことができると思います。

于 2012-08-06T21:59:12.113 に答える