我想在我的项目中使用CQRS模式的元素。我不知道我是否正确地使用Command and Events。 我不确定的事情是如果事件可以调用命令。为了更好地展示我想要做什么,我将使用图表和示例。CQRS - 可以EventListener调用命令?
这是一个示例:
用户调用TripCreateCommand。 TripCreateCommandHandler完成他的工作并成功发布TripCreatedEvent。
现在我们有两个监听器TripCreatedEvent(听众的执行顺序并不重要)
首先监听器(可以是第二个侦听器后执行):
在trip.author.friends每个用户调用两个Command(命令的顺序是很重要的)
- PublishTripOnUserWallCommand
- SendNewTripEmailNotificationCommand
- SendNewTripPlatformNotification
第二监听器(可以是第一个监听之前执行):
- PublishTripOnUserSocials
并且这是示例图:
是这是一个好方法? EventListener是否可以调用Command,或者我可以用其他方式来做?
感谢您的重播!可扩展性是我的项目中最重要的事情之一(我想拥有的水平扩展我的应用程序的能力),所以我一定要asynchornously处理命令。我想使用异步并从c#等待来做到这一点。 – mrrobot