gpt4 book ai didi

c# - 架构 : simple CQS

转载 作者:可可西里 更新时间:2023-11-01 08:10:41 27 4
gpt4 key购买 nike

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

所以,我的想法是:

  • 查询和命令部分使用同一个数据库
  • 对于查询部分,通过 Entity Framework 和WCF数据服务暴露数据库 View ,从而将特定的 View 返回给客户端,查询数据变得非常容易
  • 对于命令部分,使用 Entity Framework 和单向 WCF 服务公开数据库表,并使用 DDD 原则。

我主要想实现的是:

  • 由单向服务操作执行并由丰富的领域模型处理的简单命令,客户端只需传递执行命令真正需要的数据
  • 针对客户的特定 UI 设计的简单 View 的灵活查询

这有意义吗?

最佳答案

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

我不确定您还需要什么。我认为您采用的方法很有意义,应该可以满足您的需求。

在我看来,CQS 和 CQRS 非常相似,其中 CQRS 具有单独的读写存储的概念(有些人认为写存储甚至可能不是必需的)。事件溯源并不是 CQRS 的真正组成部分——可以说,它是一个附加组件,非常适合 CQRS 的分布式特性。

您放弃的方法是数据的一些可扩展性,因为您正在使用 View 展平数据。但如果您的应用不需要它,那就没有问题。

此外,阅读 Udi Dahan 的 article 可能会有用。关于何时避免 CQRS。它可能有助于证明你的决定是正确的。当他发布它时引起了不小的轰动。但在他和 Greg Young 之间,他们是 CQRS 方面的专家。

我不确定我是否回答了您的问题或提供了帮助,但祝您项目顺利!我希望这会有所帮助。

关于c# - 架构 : simple CQS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6917843/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com