Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们最近开始使用 DDD 和 CQRS(无事件溯源)的概念开发应用程序。我仍然对在哪里调用存储库来保存我的聚合根感到有些困惑。
我是在命令处理程序中执行,还是在事件处理程序中执行?
您在命令处理程序中执行此操作。您可以正常保存域对象。即使您没有使用事件溯源作为持久化域实体的一种方式,您仍然需要触发查询服务将订阅的事件。然后,读取端的事件处理程序将更新为 UI 屏幕定制的非规范化表。所以基本上你有两组数据访问代码:一组用于域,一组用于查询服务(读取端)。如果您使用事件溯源来持久化您的域实体,它的工作量就会减少......