2

AR1 と AR2 という 2 つの集約ルートがあります。AR1 は、AR2 のインスタンスへの参照 (ID) のコレクションを保持します。AR1 メソッドの 1 つの中でドメイン イベントが発生し、AR2 インスタンスのコレクションが更新されます。ここで説明されている手法を使用してトランザクションが完了した後、ドメイン イベントが発生します

私の問題は次のとおりです。AR2 を更新するためにドメイン イベントから呼び出しているメソッドは、現在、ドメイン イベントがアプリケーション サービス レイヤー (ビジネス ロジック レイヤーとは異なるアセンブリ) で実行されているため、公開されています (内部にすることはできません)。このメソッドをドメイン イベントで実行するだけで、他には何も実行したくありません。

どうすればこれを行うことができますか?

4

1 に答える 1

1

AR2 メソッドの引数としてイベント オブジェクトを要求できます。これは、発生したイベントの結果としてのみメソッドを呼び出す必要があることを示す良い指標になります。

public void someMethod(SomeOccuredEvent event)

このアプローチは、結果整合性の実装セクションの効果的な集計設計パート IIIで使用されていることがわかります。

于 2014-11-27T17:05:43.960 に答える