Design patterns CQRS-业务验证规则

Design patterns CQRS-业务验证规则,design-patterns,command,cqrs,saga,Design Patterns,Command,Cqrs,Saga,我正在使用CQR和事件源模式创建一个系统(我希望如此)。我必须根据一个读取模型存储的统计数据和不同读取模型存储的用户设置数据(两者都是由过去的事件创建的)来做出业务决策。什么是放置业务逻辑规则的好地方,其结果取决于该数据 它是一个命令(我可以在命令中获取存储在读取模型中的数据吗) 其他抽象层,比如saga 您的业务模式应该只与业务模式一起工作。您需要一个“阅读”模型,但针对业务方面。这与用于UI、报表的查询/读取模型不同。业务逻辑规则始终是业务层的一部分,即命令部分。它们可以是业务对象或服务(

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

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

  • 其他抽象层,比如saga


您的业务模式应该只与业务模式一起工作。您需要一个“阅读”模型,但针对业务方面。这与用于UI、报表的查询/读取模型不同。业务逻辑规则始终是业务层的一部分,即命令部分。它们可以是业务对象或服务(通常是命令处理程序)的一部分

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


Saga是长时间运行(异步)流程的名称,它不是抽象层,也不是任何层。

总之,我可以使用一个单独的读取模型(它应该更符合我的业务规则)。然后,我可以从命令处理程序中获取读取的模型数据,并在此基础上做出决策。谢谢你的澄清!