架构:简单的CQS

L-F*_*our 13 c# command domain-driven-design cqrs

我正在考虑将CQS应用于我的ASP.NET MVC网站,但这只是一件非常简单的事情.我不是指CQRS,因为我想为查询和命令部分使用相同的数据源,因此我不需要事件源和其他更复杂的模式.

所以,我的想法是:

  • 使用相同的数据库进行查询和命令部分
  • 对于查询部分,使用实体框架和WCF数据服务公开数据库视图,以便将特定视图返回给客户端,查询数据变得非常容易
  • 对于命令部分,使用实体框架和单向WCF服务公开数据库表,并使用DDD原则.

我想要实现的主要是:

  • 由单向服务操作执行并由富域模型处理的简单命令,客户端只需传递执行命令所需的数据
  • 灵活查询简单视图,专为客户端的特定UI设计

这有意义吗?

Dav*_*ter 9

所以,回答你的问题,是的,我认为这是有道理的.

我不确定你还在寻找什么.我认为你采取的方法是有道理的,应该给你你想做的事情.

在我看来,CQS和CQRS非常相似,其中CQRS具有单独的读写存储的概念(并且有些人认为写存储甚至可能不是必需的).事件采购实际上并不是CQRS的一部分 - 它可以说是一个附加组件,可以很好地适应CQRS的分布式特性.

您放弃使用方法的一些原因是数据的可扩展性,因为您使用视图展平了数据.但如果您的应用程序不需要它,那么那里没有问题.

此外,阅读Udi Dahan 关于何时避免CQRS 的文章可能会有所帮助.它可能有助于证明您的决定.当他释放它时引起了不小的轰动.但在他和Greg Young之间,他们是CQRS的专家.

我不确定我是否回答了你的问题或帮助过,但祝你的项目好运!我希望这有帮助.