【发布时间】:2021-11-30 12:35:27
【问题描述】:
所以我正在努力建立一个相当简单且非常普遍的关系。 我有一个包含很多实体的复杂应用程序,我想为一个用例建模,对于这个 UC,我有 3 个实体,组织、用户和邀请。这是业务规则/约束:
- 一个用户可以属于一个或多个组织。
- 组织可以向电子邮件发送邀请,该电子邮件可以是现有用户或新用户。 (这意味着创建邀请数据库实体)
- 组织可以删除(更新状态:已删除)邀请(如果尚未接受)。 (这意味着更新邀请数据库实体)
- 用户可以接受邀请(这意味着更新邀请和用户)
- 用户可以拒绝邀请(这意味着更新邀请)
所以在这种情况下,用户是一个聚合根,我认为组织是另一个聚合根(还有其他与组织相关的实体),现在我不太明白邀请是什么,我倾向于聚合root 也是如此,但问题是,如果是这种情况,在接受邀请时,我需要在同一事务中修改邀请和用户,我认为这是我们想要避免的。 有什么想法吗?
【问题讨论】:
标签: aggregate domain-driven-design