1

这里是这样的情况,为了支持我们的遗留系统,我们需要在用户登录时插入到表中。这基本上是一个 CRUD 操作,所以创建存储库/实体/命令/事件并没有真正意义因为这根本与任何业务规则无关。创建 CQRS 命令的唯一好处是该数据库写入可以在该模型下异步发生。走哪条路比较好?

  • 使用 CQRS,然后调用存储过程。处理该命令时?
  • 直接在控制器中调用数据库(我用的是asp.net mvc)
4

1 回答 1

3

如果您正在使用(并持久化)事件进行可能的回放,那么将写入遗留数据库作为事件处理程序的一部分是有意义的(想想“网关”)。如果您将来需要重播此事件,您可以换入一个不会重新插入记录的假处理程序。

您的控制器实际上应该只是 HTTP 请求和您的域的命令之间的转换层。恕我直言,写入数据库(甚至是遗留的非域访问)在那里没有任何意义。将逻辑放在事件处理程序中使交互非常明确。

于 2010-06-15T03:35:15.423 回答