2012-02-10 5 views
3

나는 주석을 만들기위한 처리기가 있습니다. 그리고 태스크를 생성하기위한 두 번째 핸들러가 있습니다.CQRS - 두 개의 처리기를 실행하십시오.

두 핸들러는

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

지금, 내가 작업이 successfuly 생성 된 직후 코멘트를 작성해야 동일한 인터페이스를 구현했습니다. 그러나 다른 한편으로는 독립 실행 형 처리기로 주석 처리기가 필요합니다.

그래서 무엇이 코멘트 처리기를 재사용하기위한 최상의 솔루션이 될지 궁금합니다.

내 첫 번째 생각은 단순히 작업 처리기에 주석 처리기를 삽입 한 다음 작업 처리기 Handle 메서드 내에서 주석 처리기를 호출하기 만하면됩니다.

내 인프라는 ASP.NET MVC 응용 프로그램으로 IoC 컨테이너를 사용하여 처리기를 확인한 다음 처리기를 실행합니다. 나는 어떤 메시지 버스도 사용하지 않고있다.

+0

도메인의 댓글 부분입니까? 자신의 누계를 주석으로 쓰거나 작업에 대한 주석입니까? –

+0

예, 댓글은 자체 AR입니다. – user49126

+1

그런 경우 두 개의 명령을 보낼 수 있습니다. 하나는 Task를 생성하고 하나는 Comment를 생성합니다. 작업 명령에서 작업 ID를 설정했다고 가정합니다. –

답변

3

TaskCreatedEvent가 발생하면 CreateComment 명령을 보내는 TaskCreatedEvent 핸들러를 구현할 수 있습니다. 이것은 기본적으로 사가 (Saga)라고 불리는 것이고 집계 경계에서 프로세스를 조정합니다.

관련 문제