2012-02-10 8 views
3

私はコメントを作成するためのハンドラを持っています。タスクを作成するための2番目のハンドラがあります。どちらのハンドラが同じインターフェイス今CQRS - 2つのハンドラを実行

public interface IHandle<TCommand> 
{ 
     void Handle(TCommand); 
} 

を実装している

、私は右のタスクがsuccessfuly作成された後にコメントを作成する必要があります。しかし、一方で、スタンドアロンハンドラとしてコメントハンドラが必要です。

だから私はコメントハンドラを再利用するための最良の解決策になると思います。

私の最初の考えは、単純にコメントハンドラをタスクハンドラに注入してから、タスクハンドラのHandleメソッド内でコメントハンドラを呼び出すことでした。

私のインフラストラクチャはASP.NET MVCアプリケーションで、IoCコンテナを使用してハンドラを解決し、ハンドラを実行します。私はメッセージバスを使用していません。

+0

あなたのドメインのコメントは一部ですか?コメントは独自の集計ルートですか、それとも単にタスクのコメントですか? –

+0

はい、コメントは独自のARです。 – user49126

+1

この場合、2つのコマンドを送信できます。 1つはそのタスクを作成し、もう1つはコメントを作成します。 TaskコマンドでTask Idを設定したとします。 –

答えて

3

TaskCreatedEventが発生すると、CreateCommentコマンドを送信するTaskCreatedEventハンドラを実装できます。これは基本的に佐賀と呼ばれ、集約境界を越えてプロセスを調整するものです。

関連する問題