Если выбранная вами ORM охватывает все функциональные возможности шаблона репозитория, следует ли прекратить использование шаблона репозитория? - PullRequest
1 голос
/ 13 декабря 2010

Согласно: http://ayende.com/Blog/archive/2009/04/17/repository-is-the-new-singleton.aspx

Попытка скрыть это за интерфейсом репозитория обычно приводит нас к репозиторию с таким методом:
FindCustomer(id)
FindCustomerWithAddresses(id)
FindCustomerWith..
Хуже, когда у вас есть сложные критерии поиска и сложный план выборки. Затем вы застреваете, создавая метод для каждой комбинации, которую вы используете, или обобщая ее. Если обобщить, это означает, что теперь у вас есть дополнительная абстракция, которая обычно довольно точно отображается в постоянное хранилище, которое вы используете.

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

Что еще нужно предпринять в отношении мыслей Айенде?

...