说我有两个型号
java.time
和Project
项目可以有很多任务,但项目任何时候只能有一个状态为Task
的任务。
据我了解,这通常作为根聚合域不变的一部分处理
然而,在这种情况下,与项目相关的任务列表可能是无限的,所以它在我看来并不是很合适,但同时项目应该控制和维护上述不变的
有关如何最好地建模的建议吗?
答案 0 :(得分:0)
听起来你在项目和任务之间有一个关系,它应该是1对1。
project inProgress task
你的约束是这样的关系应该对每个项目都是唯一的
这反过来表明您的Project API包含
等成员TaskId currentTask()
void changeTasks(TaskId nextTask)