CQRS(コマンドハンドラーまたはドメインイベントハンドラー)にデータベースを書き込むためにドメインを保存するのに最適な場所

StackOverflow https://stackoverflow.com/questions/4665583

  •  10-10-2019
  •  | 
  •  

質問

私は今CQRSを勉強していますが、いくつかのソースコード(Greg YoungのSimpleCQRSとMark Nihjof's)が表示されます。私はまだコマンドとドメインのイベントと混同しています。ドメインイベントハンドラーで「データベースを書き込む」ために常にドメインを持続する必要がありますか?ドメインをコードハンドラー(通常はドメインリポジトリを介して)にデータベースに保存するためにコードを呼び出してから、ドメインイベントハンドラーに他のものを処理するように(読み取りモデルを更新し、電子メール通知などの他のサービスを実行する場合が一般的ですか?ありがとう。

役に立ちましたか?

解決

イベントの保存:イベントハンドラーを使用してイベントを永続させません。コマンドハンドラーからリポジトリまたは作業単位に委任することは、おそらくイベントソーシングを使用する際に最も一般的なアプローチです。したがって、はい、それはコマンドハンドラーの永続性を行い(まあ、委任します)、イベントハンドラーに他のことをさせてもらいます。

状態の保存:イベントソーシングを使用していない場合、人々は状態またはさらに悪いことにイベントを保存しないと思います(キューを永続化メカニズムとして使用する)。それでも、永続性ロジックはコマンドハンドラーの空間にあります。

コマンドは意図をキャプチャし、システムに何をすべきかを伝えます。常に命令を使用してください。イベントは意図をキャプチャし、システムで何が起こったのかを伝えます。常に過去形で。

あなたは私をこのトピックに新しい人として攻撃します。 CQRSの概念を把握するためにできる最善のことは、材料を見ることです http://cqrsinfo.comhttp://skillsmatter.com (アーキテクチャ/DDD)。このテーマについてブログを書いている他の人々(私の頭の上から外れて):ウディ・ダハン、グレゴリー・ヤング、ジョナサン・オリバー、リナット・アブドリン、ジェレミー・シャサイン、...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top