愚蠢的问题......但是如果我使用事件采购,为什么我需要一个域模型。
我有(事件总线当然)和
为什么我需要聚合根和域实体?附加层的功能是什么?
答案 0 :(得分:4)
你没有。
领域驱动设计是关于使用无处不在的领域专家语言建模软件。该模型可以是一个“关系型”模型,但它也可以是命令和事件的模型。
在a recent interview中,Eric Evans解释说他不想再强调战术模式(聚合根,存储库,抽象工厂)等,而是强调建模的方法 - 例如有界背景。
他还解释了CQRS +事件采购如何将DDD置于全新的视野中。在许多方面,战术模式是过去的残余,其中一切都必须是OOP和底层关系数据库才能被认真对待。就在那时,但现在就是这样。
答案 1 :(得分:2)
听起来你的命令处理程序可能有点太多了。需要明确的是 - 命令处理程序的作用是接收命令,加载适当的聚合并将命令发送到聚合中。最后,它抓取聚合可能生成的任何事件持续存在并最终发布它们。这是我在博客上的图表。
有关典型CQRS + ES应用程序的更全面的逐步概述,请查看我的帖子:CQRS + Event Sourcing - A Step by Step Overview
我希望能为你解决一些问题。 PS。您可能想要了解如何为CQRS和ES创建聚合根。您可以找到帖子here
答案 2 :(得分:0)