我对聚合对象感到困惑,只有聚合对象才有存储库,因为我不知道如何正确编码它。
假设您有User
,Question
和QuestionLog
实体。我不明白如何设置聚合对象应该放入多少的边界。您可以说没有用户就不会在我的系统中存在任何问题,如果没有任何问题需要附加问题日志就不会存在。那么用户是聚合根吗?
例如,您如何添加问题日志?
对我来说,似乎你最终会有很多嵌套等等User.addQuestionLog
?当它应该是一个聚合并被视为一个单元时,我不明白边界的位置?对我来说,User
是一个聚合而Question
是另一个聚合更自然。但是我不明白如何真正了解这一点。
问题也可以有类别,该类别是否也是问题的一部分?为什么/为什么不呢?如何发现它们?
答案 0 :(得分:2)
不要想到这些物体,DDD就是关于现实生活的。
真正的问题是:
因此:
所以我们最终得到了三个根聚合。
类别是价值对象