私はサガを理解しようとしていますが、その間、私はサガについて特定の考え方を持っていますが、私がその考えを正しく理解したかどうかはわかりません。したがって、私は詳しく説明して、それが正しいか間違っているかを他の人に教えてもらいたいと思います。
私の理解では、sagasは、実行時間の長いプロセスをモデル化する方法の問題に対する解決策です。長期実行とは、複数のコマンド、複数のイベント、場合によっては複数の集計を含むことを意味します。プロセスは、それらの間の依存関係を回避するために、参加しているアグリゲートの1つの内部でモデル化されていません。
基本的に、サガは、内部および外部のコマンド/イベントに反応するコマンド/イベントハンドラーにすぎません。独自のロジックは含まれていません。これは単なる(有限)ステートマシンであるため、イベントXが発生したときに、コマンドYを送信するなどのタスクを提供します。
Sagasは、アグリゲートと同様にイベントストアに永続化され、特定のアグリゲートインスタンスに関連付けられるため、この特定のアグリゲート(またはアグリゲートのセット)が使用されると再ロードされます。
これは正しいですか?