编程语言
首页 > 编程语言> > PHP-在CQRS中反规范化/投影数据

PHP-在CQRS中反规范化/投影数据

作者:互联网

我正在研究CQRS(通常是DDD),但不确定如何实现它的特定部分.

我了解分离命令和查询的好处;出于这个原因,让我们说我也在使用事件源,并且我对每个实体都有一个很好的历史记录列表.

据我了解,构建视图的数据存储可以采用任何形式,对性能进行非规范化是完全可以接受的.

我的问题是如何实现从标准化/以事件为中心的写数据库到视图就绪/非标准化表的转换/投影?

我是否可以使用域模型中的事件(由应用程序的另一部分侦听)来实现?我是否使用SQL视图(使用RDBMS / NoSQL混合将不起作用).

如何在不使用各种不必要的吸气剂污染域模型的情况下做到这一点?

谢谢

解决方法:

您正在使用域事件来管理已阅读的预测,这是正确的.您的聚合不需要公开其内部状态,因为它们广播的域事件将包含所有必要的信息来更新视图投影.然后可以以任何形式存储视图投影数据.

有关实现的详细信息,请查看Greg Youngs CQRS example,尤其是domain implementationread model implementation.

标签:domain-driven-design,cqrs,php
来源: https://codeday.me/bug/20191121/2052773.html