Je reçois StudentDriver comme racine agrégée. Chaque StudentDriver peut avoir plusieurs DrivingLogs et chaque DrivingLog peut contenir plusieurs DrivingRecords.Comment imbriquer des entités dans DDD
Comme ils sont connectés les uns aux autres, je pense que c'est juste. Cependant, je ne comprends pas si je vais ajouter un nouvel enregistrement de conduite par exemple. Est-ce que j'appelle studentdriver.addNewDrivingRecordToDrivingLog (...) ou est-ce que je reçois d'abord un journal de conduite de l'utilisateur, puis j'ajoute le driverecord à ceci. Je veux dire, les noms des méthodes deviennent très longs et je ne comprends pas comment vous êtes censé accéder aux éléments.
Quelqu'un pourrait-il expliquer comment vous êtes censé interagir avec les membres de StudentDriver, et même si cet agrégat est correct?
Donc, il n'y a rien de mal à se procurer des entites etc à l'intérieur d'une racine agrégée tant que les autres racines agrégées ne les ont pas? Par exemple, mettre les entités ensemble hors de la racine agrégée n'est pas mauvais? – LuckyLuke
Je veux dire, puisque le StudentDriver est la racine agrégée, il n'est pas mauvais de construire le drivelog en dehors du pilote student et d'ajouter directement les driverecords sur le drivinglog, puis d'attacher les pilotlogs à l'utilisateur avant qu'il ne soit persisté etc throguh the repository? Lorsque vous avez des agrégats, cela ne signifie pas que vous ne pouvez toujours pas accéder à des choses à l'intérieur? – LuckyLuke
Et une dernière chose: lorsque vous ajoutez par exemple un roadlog à un conducteur d'étudiant, alors vous devez mettre à jour le pilote d'étudiant dans le dépôt, n'est-ce pas? Vous n'avez pas de référentiels propres pour les entités dans les agrégats? Donc, chaque fois que quelque chose dans les changements agrégés studentdriver vous devez "mettre à jour" le pilote d'étudiant? – LuckyLuke