Является ли шаблон репозитория излишним

Я использовал шаблон репозитория (DDD и POEAA) в течение некоторого времени. Однако некоторые члены нашей команды утверждают, что это всего лишь дополнительный уровень абстракции и ненужный. Я вижу некоторую пользу в их аргументах. Современные решения ORM (NHibernate или EF) имеют практически все, что вам нужно. Я искал и нашел какую-то статью, такую ​​как , этот и контраргумент на эту тему. Так что же, шаблон репозитория - излишнее?

10
задан Gordon 17 February 2012 в 15:29
поделиться

3 ответа

Это зависит, главным образом, от сложности вашей проблемы и той роли, которую ваша модель предметной области играет в решении. Для простых решений Repository, вероятно, излишне. Но для сложных доменов с надежным языком и меняющимися потребностями / требованиями Репозиторий - это приятная чистая абстракция, которая владеет жизненным циклом объекта домена. Многие ORM будут делать большую часть этого, но в сложном домене всегда будет какая-то активность домена, которая имеет смысл в репозитории и не поддерживается ORM из коробки.

Итог: это зависит от контекста.

12
ответ дан 3 December 2019 в 21:19
поделиться

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

4
ответ дан 3 December 2019 в 21:19
поделиться

Единственная причина, по которой мы используем репозитории в нашем проекте, заключается в том, что это принудительно определяет, кто является нашими корнями агрегатов (мы разрешаем репозитории только для AR), так что вы работаете над AR должным образом, а не делаете запросы на все, что вам взбредет в голову.

И, как упомянул Эл... это обеспечивает хороший интерфейс для имитации во время модульных тестов.

1
ответ дан 3 December 2019 в 21:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: