【发布时间】:2021-09-09 05:50:47
【问题描述】:
我无法弄清楚如何处理 resolvejs 中聚合根之间关系的一些基本问题。基本问题是我如何处理关系的完整性?为此,您似乎需要同时了解双方的知识,但在写入方面似乎不允许这样做。
设置如下:我正在尝试构建一个用户管理工具,我有两个聚合根,User 和 Organisation。我需要允许两者独立存在并在它们之间定义access 关系(即用户可以访问任意数量的组织)。
如果关系属于User,我可以在User 聚合上创建一个类似grantAccessToOrganisation 的命令,该命令采用organisationId,但这会引发几个问题。如何确保提供的organisationId 是真实的?似乎它需要在命令处理程序中发生,但由于该命令属于 User 聚合,我无权访问 Organisation 聚合。另外,当组织被删除时,我应该如何处理?似乎这应该对所有有权访问它的用户产生副作用,但我似乎没有在写入端进行查询的好方法。
【问题讨论】:
标签: domain-driven-design relationship event-sourcing resolvejs