現在、イベントソースが使用されているプロジェクトで作業しています。これは私がESを初めて経験したときのことで、時には私がいくつかの問題を解決するために使っているアプローチが正しいかどうかわからないことがあります。イベントソーシング:イベントを無視する正しい方法
このシナリオを検討してください。私は、各アクションが1つ以上のイベントを作成するコマンドを生成するタスクベースのUIを持っています。
ユーザは、ある時点で、ProcessStarted
というイベントが生成されたというプロセスを開始できます。そこから彼は集合体に変更を加えることができ、それによって他の出来事を生み出すことができます。
彼は、上記のプロセスを開始する前に、最後のイベントで集約の状態を元に戻すことができます。たとえば、ProcessReverted
というイベントが生成されます。
プロセスが元に戻された場合、そのアグリゲートでさらに多くの操作を行うことができますが、ProcessStarted
イベントからProcessReverted
イベントまでプロセスで同意したイベントは考慮してはなりません。集計が再水和した場合
はしたがって、私がしたい:考慮して取られる時間の初めから
- すべてのイベント。
- 無視されるイベントは
ProcessStarted
からProcessReverted
までのすべてのイベントです。 ProcessReverted
イベントの後のすべてのイベントを考慮します。
私の目標を達成する最良の方法は何ですか?私はESの文脈で優雅で合っている解決策は考えられません。
私は実装の詳細を探しているわけではないので、私はここにコードを掲載していませんが、私は戦略を探しています。私より多くの経験を持つ人々からアドバイスを得ることを望みます。 ESの力と柔軟性をいかに活用するかを理解するのに役立ちます。
私はどのように示唆しましたか?これは最も論理的な解決策であるようです。ありがとうございます – user449689
@ user449689ようこそ! –