@DODO_D

Как использовать несколько репозиториев и сервисов С#?

Всем добрый день. Пишу учебный проект с использованием трехслойной архитектуры и DI. Появился вопрос, не могу найти на него адекватный ответ в сети. Проблема в следующем: у меня есть 1 класс в DAL отвечающий за связь с базой, как и положено, но я не понимаю, как мне разделить этот класс, к примеру на несколько для того, чтоб не нарушать принцип единой ответственности. То есть в одном репозитории у меня CRUD операции для пользователя, во втором свое и т.д. Я пробовал создать еще один класс, интерфейс для него, прокинуть его в конструктор на нужных слоях, но ничего не получается. Подскажите пожалуйста, как правильно это все организовать.
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ответы на вопрос 1
sarapinit
@sarapinit
Точу водой камень
чтоб не нарушать принцип единой ответственности

Это практически невозможно, всегда найдется тот, кто скажет что класс делает слишком много.
А если серьезно, то классический способ выглядит как несколько "репозиториев" (Repository/Store), помещенных в "еденицу работы" (Unit of Work).
Как пример - EntityFramework. В нем DbContext - это Unit of Work, а DbSet - репозиторий.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы