Ist es allgemein akzeptabel, dass ein Repository auf ein anderes Repository zugreifen kann? Speziell in diesem Fall habe ich einen Aggregatstamm, der einen anderen Aggregatstamm verwendet, um zu bestimmen, welche Entitäten hinzugefügt werden sollen. Es fällt in die Richtung einer Item/Item Type-Beziehung. Der Grund dafür, dass es sich bei dem Elementtyp um ein Sammelstammelement handelt, liegt darin, dass sie separat innerhalb eines Verwaltungstools außerhalb des Bereichs eines einzelnen Elements verwaltet werden können.DDD-Repository-Kenntnis anderer Repositories
Wenn es nicht egal, ich schaff' nur meine Repository-Instanzen über eine Repository Fabrik Implementierung, so dass ich nicht direkt durch die konkreten Klassennamen zu schaffen. Zu keinem Zeitpunkt ist dem Aggregat das Repository bekannt.
bearbeiten - Weitere Informationen:
Die spezifische Implementierung ist, dass wir Bilder auf ein Dokument anhängen. Wir können nicht nur die Bilder auf dem Dokument verwalten, sondern auch verschiedene Arten von Bildern (Typen, die beispielsweise so definiert sind, wie sie implementiert sind, im Gegensatz zu einer Erweiterung). Das Dokumentenaggregat ist einer von wenigen anderen Objekten im System, die diese Bilder verwenden, und sie verwenden nicht alle die gleichen Typen. Während wir in den Domänendiensten Regeln anhängen, ist dies speziell darauf ausgerichtet, das Dokumentenaggregat zu erstellen. Beim Erstellen des Aggregats haben wir fünf Bilder eines bestimmten Typs und jeweils eines von zwei anderen Typen. Wir ziehen diese einzeln, weil sie in separaten Listen im Aggregat gespeichert sind. Die Validierung ist nicht das Problem, sondern begrenzt, welche Art von Bildern beim Zusammenstellen des Dokuments ausgewertet wird.
Siehe auch: http://stackoverflow.com/questions/1187667/calling-a-repository-from-a-repository – M4N