【发布时间】:2014-02-20 16:13:43
【问题描述】:
首先感谢您对此问题的意见。我是领域驱动设计的新手,并且正在努力解决一些问题(我认为它们非常基础,我肯定会遗漏一些东西)。
让我先描述一下我的领域。我正在尝试模拟一所典型的学校,它可以有教室,每个教室可以有多个部分/小组,并且每个教室小组中的学生。 用户主要是学校管理员和教师。学校管理员可以创建教室、教师和学生,而教师只能创建组并将学生分配到一个组。 学校有全球身份,但教室没有。当教室是学校实体的一部分时,它具有本地身份。课堂组仅在课堂内是唯一的。
School 绝对是一个 Aggregate 根,里面有 Classroom 聚合,负责创建、删除、更新教室。
- 我们是否应该为课堂和课堂组创建不同的聚合根(我认为这不正确,因为它们在域内没有全局身份)。
- 我们是否为它们各自创建单独的存储库?
- 我们是否应该在服务级别处理教室、教室组的创建/更新?
- 我们需要缓存数据,事件溯源似乎是保持状态同步的好主意。您认为这有什么问题吗?
任何帮助将不胜感激。
【问题讨论】: