2012-02-10 74 views
3

我有用于创建注释的处理程序。我有第二个处理程序来创建任务。CQRS - 执行两个处理程序

两个处理程序已经实现了相同的接口

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

现在,我需要创建之后立即任务successfuly创建了一个注释。但另一方面,我仍然需要注释处理程序作为独立的处理程序。

所以我想知道什么是重用评论处理程序的最佳解决方案。

我的第一个想法是简单地将注释处理程序注入任务处理程序,然后在任务处理程序Handle方法内调用注释处理程序。

我的基础结构是一个ASP.NET MVC应用程序,我使用IoC容器解析处理程序,然后执行处理程序。我没有使用任何消息总线。

+0

是您网域的评论部分?是评论它自己的聚合根源还是只是对任务的评论? – 2012-02-10 10:02:37

+0

是的,评论是它自己的AR。 – user49126 2012-02-10 10:31:47

+1

在这种情况下,您可以发送两个命令。一个创建该任务,另一个创建该评论。鉴于您已在任务命令中设置了任务ID。 – 2012-02-10 10:39:13

回答

3

您可以实现TaskCreatedEvent处理程序,该处理程序在发生TaskCreatedEvent后发送CreateComment命令。这基本上就是所谓的传奇,并协调整个边界的过程。