我有以下 DDD 场景,分为以下聚合:
User、
Friends(用户关联)、
File(用于用户上传)、
Galleries(文件分组)、
Messages(用户交流)、
Groups(用户可以创建,其他成员可以加入)、
GroupMessages(发送给组内所有成员的消息) )、
GroupForums(群组成员可以讨论各种话题)
这就是令人困惑的地方。用户与 GroupForums 的所有内容相关联。必须通过用户存储库才能访问其他聚合似乎不合逻辑,尽管从级联的角度来看,如果我删除了用户,从技术上讲,与用户关联的记录也应该消失。
似乎我也不应该将此处存在的所有一对多关联都添加到用户实体中,因为从数据库中补水似乎很荒谬,尤其是当我尝试提取与用户关联的每条记录时。组织聚合和存储库的推荐策略是什么,以及处理给定实体的大量一对多关系的正确方法是什么?