在这种情况下,为了支持我们的遗留系统,我们需要在用户登录时插入表。这基本上是一个CRUD操作,因此创建存储库/实体/没有任何意义命令/事件,因为这根本不与任何业务规则相关联。创建CQRS命令的唯一好处是此数据库写入可以在该模型下异步发生。哪条路线更好?
答案 0 :(得分:3)
如果您正在使用(和持久化)事件进行可能的回放,那么将遗留数据库写入事件处理程序(想想“网关”)是有意义的。如果您将来需要重播此事件,您可以交换一个不重新插入记录的虚假处理程序。
您的控制器实际上应该只是HTTP请求和域名命令之间的转换层。写入数据库(即使是传统的,非域访问)在那里也没有意义,恕我直言。将逻辑放在事件处理程序中会使交互非常明确。