У меня есть StudentDriver как совокупный корень. Каждый StudentDriver может иметь несколько DrivingLogs, и каждый DrivingLog может содержать несколько DrivingRecords.Как вложить объекты в DDD
Поскольку они связаны друг с другом, я думаю, что это правильно. Однако я не понимаю, как, например, я собираюсь добавить новую дорожную запись. Я вызываю studentdriver.addNewDrivingRecordToDrivingLog (...) или я сначала получаю вождение от пользователя, а затем добавляю к нему дорожную запись. Я имею в виду, что имена методов становятся очень длинными, и я не понимаю, как вы должны обращаться к элементам.
Не могли бы вы объяснить, как вы должны взаимодействовать с членами StudentDriver, и даже если этот агрегат правильный?
Итак, нет ничего плохого в том, что вы получаете entites и т. Д. Внутри совокупного корня, если другие корни их не имеют? Вроде, не так ли плотно слагать entites за пределами совокупного корня? – LuckyLuke
Я имею в виду, так как StudentDriver - это совокупный корень, это не плохо, чтобы построить вождение за пределами студента и добавить дорожные записи непосредственно на вождение, а затем привязать вождения к пользователю до того, как он будет сохранен и т. Д. В репозитории? При наличии агрегатов это не означает, что вы не можете получить доступ к вещам внутри него? – LuckyLuke
И последнее: когда вы, например, добавляете вождение к ученику, вам нужно обновить studentdriver в правом хранилище? У вас нет собственных репозиториев для entites в агрегатах? Итак, каждый раз, когда что-то в совокупности изменяется студента, вы должны «обновлять» ученика? – LuckyLuke