Вопрос шаблона репозитория - допустимо ли использовать репо внутри другого репозитория? - PullRequest
1 голос
/ 10 марта 2009

Итак, у меня есть хранилище для практически каждой сущности, но в моей модели есть реляционное разделение, в котором сущности не связаны напрямую с моделью. Поэтому мне нужно запросить эти косвенные отношения и вернуть коллекцию сущностей. Целесообразно ли инициализировать и вызывать запросы в другом хранилище, отличном от того, к которому вы фактически обращаетесь? Если нет, то каково лучшее решение для этого - вспомогательный класс?

Спасибо

Ответы [ 2 ]

6 голосов
/ 10 марта 2009

Согласен - попробуй выявить совокупные корни. Если вы не знакомы с агрегатными корнями: читайте здесь

По моему мнению, ваш первоначальный вопрос по-прежнему действителен, но у вас все еще могут быть зависимости от других репозиториев. Это может быть нормально иметь эти зависимости, в зависимости от модели вашего домена. Если у вас есть такие зависимости, это хорошая идея - свободно связать их с интерфейсами. Затем вы можете использовать какое-то внедрение зависимости, чтобы упростить тестирование и т. Д. Другой вариант - заставить фабрику предоставить вам правильный репозиторий.

2 голосов
/ 10 марта 2009

Репозиторий для каждой сущности, вероятно, не очень хорошая идея. Хранилища должны существовать для совокупных корневых объектов. Определите ваши совокупные корневые объекты и репозитории провайдеров для них. Это может прояснить некоторые проблемы, когда речь идет о репозиториях, принимающих зависимости от других репозиториев.

...