как использовать шаблон репозитория, чтобы упростить переключение между ORM?

Я знал, что одно из преимуществ использования шаблона репозитория позволяет легко переключаться между ORM, например, будет реализовывать код доступа к данным с использованием Linq в sql, а также с использованием структуры сущностей Ado.net, а затем с помощью переключателя внедрения зависимостей, какой из них использовать.

Я видел, как KIGG делает то же самое, но его диаграмма классов немного сложна, по крайней мере, для меня как новичка в шаблоне репозитория "

Но я не могу найти пример, подробно описывающий эту проблему, я видел этот пример на codeproject он говорит об общей реализации репозитория с использованием Linq в sql, но не может использовать его для переключения на использование другого ORM.

где я могу разобраться в этой проблеме? вы порекомендовали статью или у вас есть ее описание?


person Amr Elgarhy    schedule 30.09.2009    source источник


Ответы (1)


Я думаю, что ваш репозиторий имплементация всегда будет привязан к любому ORM или методу доступа к данным, который он использует. Слабая связь находится между бизнес-логикой (интерфейсами репозитория) и имплементациями репозитория. Вы можете создать новый набор реализаций, отвечающих требованиям интерфейса, но реализовать другой метод доступа к данным. Как только это будет сделано, это может быть так же просто, как перенастроить контейнер IoC, чтобы переключаться между ними ...

person UpTheCreek    schedule 30.09.2009