Задать вопрос

Как назвать класс, который имеет доступ к базе данных?

Доброго вечера.
В MVC этим часто занимается модель. Но как быть в общем случае? Сейчас использую для этого Репозиторий, а то, что хранилищем выступает БД, остается деталью реализации (что-то мне подсказывает, что это решение притянуто за уши и семантически некорректно). В то же время, в Yii есть ActiveRecord, который привязан к таблице и многими называется моделью.

Так чем обычно является класс, в чьи полномочия входит доступ к базе данных для получения \ сохранения определенных сущностей, например, User? И как правильнее поступать, привязывать такие классы к сущности или к таблице?

Заранее спасибо.
  • Вопрос задан
  • 1022 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • Хекслет
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 2
Yii есть ActiveRecord, который привязан к таблице

Но он это делает через несколько абстракций...
В самом Yii2 за работу с БД отвечает https://github.com/yiisoft/yii2/blob/master/framew...

И как правильнее поступать, привязывать такие классы к сущности или к таблице?

Вы вроде правильно работаете через репозиторий
Вот хороший и популярный паттерн, решающий ваш случай:
design-pattern.ru/patterns/data-mapper.html
Ответ написан
@MaxLich
java developer
DAO - Data Access Object. Название говорящее. Ссылка на вики
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы