Шаблон репозитория Пошаговое объяснение
Может кто-нибудь, пожалуйста, объясните мне Шаблон репозитория в.NET, шаг за шагом приводя очень простой пример или демонстрацию.
Я знаю, что это очень распространенный вопрос, но до сих пор я не нашел удовлетворительного ответа.
2 ответа
В качестве резюме я бы описал более широкое влияние шаблона хранилища. Это позволяет всему вашему коду использовать объекты без необходимости знать, как эти объекты сохраняются. Все знания о постоянстве, включая сопоставление таблиц и объектов, безопасно хранятся в хранилище.
Очень часто вы обнаруживаете, что SQL-запросы разбросаны по базе кода, и когда вы добавляете столбец в таблицу, вам приходится искать файлы кода, чтобы попытаться найти использование таблицы. Влияние изменений является далеко идущим.
С шаблоном репозитория вам нужно будет изменить только один объект и один репозиторий. Воздействие очень мало.
Возможно, это поможет подумать, почему вы используете шаблон хранилища. Вот несколько причин:
У вас есть единственное место для внесения изменений в ваш доступ к данным
У вас есть одно место, ответственное за набор столов (обычно)
Репозиторий легко заменить на поддельную реализацию для тестирования, поэтому вам не нужно иметь базу данных, доступную для ваших модульных тестов.
Есть и другие преимущества, например, если вы использовали MySQL и хотели перейти на SQL Server - но я никогда не видел это на практике!
Это хороший пример: Пример шаблона репозитория в C#
По сути, хранилище скрывает детали того, как именно данные извлекаются / сохраняются из / в базу данных. Под одеялом:
- для чтения создает запрос, удовлетворяющий заданным критериям, и возвращает набор результатов.
- для записи он выдает команды, необходимые для сохранения базового механизма персистентности (например, базы данных SQL) для сохранения данных