È generalmente accettabile che un repository possa accedere a un altro repository? Specificamente in questo caso, ho una radice aggregata che utilizza un'altra radice aggregata per determinare quali entità aggiungere. Cade lungo le linee di una relazione Articolo/Articolo. La ragione per cui il Tipo di articolo è una radice aggregata è che sono mantenibili separatamente all'interno di uno strumento di gestione al di fuori dell'ambito di ogni singolo Articolo.Consapevolezza del repository DDD di altri repository
Se è importante, sto solo creando le istanze del repository attraverso un'implementazione di repository factory, quindi non lo sto creando direttamente dal nome concreto della classe. In nessun momento la conoscenza aggregata del repository.
Modifica - Maggiori informazioni:
L'implementazione specifica è che siamo in grado di allegare immagini a un documento. Non solo possiamo gestire le immagini sul documento, ma ci sono diversi tipi di immagini (i tipi sono definiti come il modo in cui è implementato, al contrario di un'estensione, per esempio). Il documento aggregato è uno dei pochi tipi di altri oggetti nel sistema che usano queste immagini e non tutti usano gli stessi tipi. Mentre leghiamo le regole nei servizi di dominio, questo è più specificamente orientato verso la costruzione del documento aggregato. Quando si costruisce l'aggregato, abbiamo cinque immagini di un tipo specifico e uno di due altri tipi. Li estrapiamo singolarmente perché sono memorizzati in elenchi separati nel complesso. La convalida non è il problema, ma limita il tipo di immagini che vengono valutate durante l'assemblaggio del documento.
Vedere anche: http://stackoverflow.com/questions/1187667/calling-a-repository-from-apository – M4N