我将StudentDriver作为聚合根。每个StudentDriver可能有多个DrivingLogs,并且每个DrivingLog都可能拥有多个DrivingRecords。

由于它们彼此相连,我认为这是正确的。但是我不明白例如我是否要添加新的驾驶记录。我应该调用studentdriver.addNewDrivingRecordToDrivingLog(...)还是首先从用户那里获取驾驶记录,然后将驾驶记录添加到该记录中。我的意思是,方法名称真的很长,我不明白您应该如何访问元素。

有人可以解释您应该如何与StudentDriver的成员进行交互,即使这种汇总是正确的?

最佳答案

我应该调用studentdriver.addNewDrivingRecordToDrivingLog(...)还是首先从用户那里获取驾驶记录,然后将驾驶记录添加到该记录中。我的意思是,方法名称真的很长,我不明白您应该如何访问元素。


看起来像获取DrivingLog实例,然后向其中添加记录会更好,但是这似乎确实属于您应该自己弄清楚的那些事情,因为我们对您的域知之甚少。两种方法都没有违反任何DDD规则。如果您不喜欢它,请尝试其中一个,然后再进行更改(例如,代码异味,测试很困难等)。随着对域的了解,应不断改进DDD代码。在这种情况下,确实没有对与错。

09-05 19:11