Начиная с Asp.net 2.0 существует модель провайдера. Что касается деталей реализации, провайдер — это класс, производный от ProviderBase, который является абстрактным классом, а не интерфейсом, но в любом случае существует модель провайдера, так что мы можем иметь другую реализацию для замены, просто отредактировав файл web.config. Например, если вы создаете приложение для блога, у вас может быть BlogProvider : ProviderBase, а затем у вас могут быть реализации BlogProvider, такие как: SqlBlogProvider, OracleBlogProvider и даже MockBlogProvider для тестирования.
Теперь шаблон репозитория становится популярным, и я чувствую, что он предназначен для удовлетворения той же потребности, хотя в деталях реализации вы обычно используете интерфейсы, поэтому IBlogProvider, и вы вводите разные реализации через конструкторы, а не через свойства, но по существу я не не вижу разницы в том, что нам дали эти 2 паттерна.
Лично я считаю, что модель провайдера более естественна для меня в реализации. Итак, есть ли между ними разница или это одно и то же с разными именами, данными разными сообществами?
Буду признателен за любые комментарии по этому поводу. Спасибо, Рэй.