Как правило, приемлемо, что один репозиторий может получить доступ к другому репозиторию? В частности, в этом случае у меня есть один общий корень, который использует другой общий корень, чтобы определить, какие объекты добавить. Он падает вдоль линии отношения Item/Item Type. Причина, по которой Тип элемента является агрегированным корнем, заключается в том, что они отдельно поддерживаются в инструменте управления вне сферы действия любого отдельного элемента.DDD Repository Осведомленность о других репозиториях
Если это имеет значение, я создаю только экземпляры моего репозитория через фабричную реализацию хранилища, поэтому я не создаю непосредственно его конкретное имя класса. Со временем агрегирование не известно о репозитории.
Edit - Дополнительная информация:
Конкретная реализация является то, что мы можем прикрепить изображения к документу. Мы не только можем управлять изображениями в документе, но есть разные типы изображений (например, типы определяются как реализуются, в отличие от расширения). Агрегат документа является одним из нескольких типов других объектов в системе, которые используют эти изображения, и они не все используют одни и те же типы. Хотя мы действительно применяем правила в службах домена, это более конкретно предназначено для создания агрегата документа. При построении совокупности мы имеем пять изображений определенного типа и один из двух других типов. Мы извлекаем их отдельно, потому что они хранятся в отдельных списках в совокупности. Проверка не является проблемой, но ограничивает, какие типы изображений оцениваются при сборке документа.
См. Также: http://stackoverflow.com/questions/1187667/calling-a-repository-from-a-repository – M4N