Шаблон хранилища Шаг за шагом Объяснение

Может кто-нибудь объяснить мне шаблон репозитория в .NET, шаг за шагом, давая очень простой пример или демонстрацию.

Я знаю, что это очень распространенный вопрос, но до сих пор я не нашел удовлетворительного ответа.

Ответ 1

В качестве резюме я бы описал более широкое влияние шаблона репозитория. Он позволяет использовать весь ваш код для использования объектов без необходимости знать, как объекты сохраняются. Все знания о сохранении, включая сопоставление таблиц с объектами, содержатся в репозитории.

Очень часто вы обнаружите SQL-запросы, разбросанные в кодовой базе, и когда вы приходите, чтобы добавить столбец в таблицу, вам нужно искать файлы кода, чтобы попытаться найти таблицы использования. Влияние изменения далеко идущее.

С шаблоном репозитория вам нужно будет только изменить один объект и один репозиторий. Воздействие очень мало.

Возможно, это поможет подумать о том, почему вы используете шаблон репозитория. Вот несколько причин:

  • У вас есть одно место для внесения изменений в доступ к данным.

  • У вас есть одно место, отвечающее за набор таблиц (обычно)

  • Легко заменить репозиторий ложной реализацией для тестирования - так что вам не нужно иметь базу данных, доступную для ваших модульных тестов

Существуют и другие преимущества, например, если вы использовали MySQL и хотели переключиться на SQL Server, но я никогда на практике этого не видел!

Ответ 2

Это хороший пример: Пример шаблона репозитория в С#

В основном, репозиторий скрывает детали того, как именно данные извлекаются/сохраняются из/в базу данных. Под обложками:

  • для чтения, он создает запрос, удовлетворяющий заданным критериям, и возвращает набор результатов
  • для записи он выдает команды, необходимые для создания базового механизма сохранения (например, базы данных SQL) для сохранения данных