CQRS命令作为POST操作的模型

Rod*_*son 1 cqrs dddd asp.net-mvc-3

我开始使用CQRS,并认为在我的表单上使用Command对象作为模型是最有意义的.我可以利用DataAnnotations,客户端验证的命令的一些客户端验证,使它非常干净...

我的问题......这会引起任何问题吗?如果我的命令没有默认构造函数,这会使这个过程变得不可能吗?我是否需要创建自己的CommandModelBinder,构造函数可以注入聚合ID?

你的想法,我无法在任何地方找到这种技术,我假设因为它不起作用.

Dav*_*ter 5

我建议你看看格雷格·杨的文章在基于任务的用户界面对的DTO和消息如何与您的系统(包括客户端和服务器端)进行交互.

我同意Sebastian的说法,你的命令将与你的用户界面完全匹配.因此,您可能需要具有单独的DTO/Model类和命令.这真的不是一件坏事,因为你的模型实际上是系统查询端的结果,实际上不应该是你发送到系统中的消息的完全重复.

此外,通过将命令与模型分开,您对Command构造函数的关注就会消失.您的控制器只是从客户端收集信息,构造命令然后提交它.

如果你开始使用CQRS,Greg的网站(cqrsinfo.com)是相当不错的,尤其是他的6个半小时的视频.是的,它是6个半小时,但它确实是一个很好的介绍和概述CQRS的全部内容.它帮了我很大的忙.

希望这可以帮助!