CQRS - 业务验证规则

时间:2015-07-30 15:26:16

标签: design-patterns command cqrs saga

我正在使用CQRS和事件采购模式创建一个系统(我希望如此)。我必须根据一个读取模型存储的统计数据和由不同读取模型存储的用户设置数据做出业务决策(两者都是由过去的事件创建的)。什么是放置业务逻辑规则的好地方,其结果取决于该数据?

  • 这是一个命令(我可以在命令中获取存储在读取模型中的数据)吗?

  • 其他抽象层,如saga?

1 个答案:

答案 0 :(得分:2)

您的商业模式应仅适用于商业模式。你需要阅读'模型,但具体针对业务方面。这与用于UI,报告的查询/读取模型不同。业务逻辑规则始终是业务层(命令部分)的一部分。它们可以是业务对象或服务(通常是命令处理程序)的一部分。

命令只是包含输入数据的dto。它不应包含任何业务规则。

Saga是一个长期运行(异步)过程的名称,它不是一个抽象层或任何层。