私は現在、最初の物語を書いていますが、読み取りモデルに少し戸惑っています。例を挙げて説明しましょう:
私には、プログラミング、請負業者、制御という3つの境界のあるコンテキストがあります。それぞれに固有の読み取りモデルがあります。
worflow:
- プログラミングはイベント「JobScheduled」を送信します
- 佐賀はこのイベントを受け取り、請負業者に「作業をスケジュールする」ように指示します。
- 完了したら、請負業者はイベント「JobDone」を送信します。
- 佐賀はこのイベントを受け取り、コントロールに「コントロール期間の開始」を指示します。
ここではすべてがうまくいくことがわかります。私たちは書き込み側にいるので、プロセスを進めるための重要な情報を渡します。
私の質問には不要な情報が含まれています。イベント「JobScheduled」にメモフィールド「テストノート」があり、このジョブが実行される前に、このフィールドが「テストノート重要」に変更されたとします。この変更は、説明されているワークフローにとって重要ではありませんが、請負業者が制限されたコンテキストの読み取りモデルを見るときに、請負業者が現場で変更を確認できることが重要です。
佐賀にイベントNoteChangedを与えて処理するのですか、それとも請負業者の境界のコンテキストでこのイベントを直接リッスンするプロジェクションを作成する必要がありますか?
ここではreadmodelを更新しているだけなので、サガに渡すのは不要な作業のように見えます。変更に関係するドメインはありません。
一方、2つの境界のあるコンテキストを直接結合すると、ワークフロー内で境界のあるコンテキストが相互に持つ相互作用を変更できる可能性のあるsagasのアセットの1つが削除されます。
読んでくれてありがとう、