Как разделять ответственность: Controller, Service, Repository?

Ответ

Controller - HTTP: валидация ввода, вызов сервиса, формирование ответа (JSON/redirect). Без бизнес-логики.

Service - слой приложения: оркестрация репозиториев и домена, транзакции, события. Содержит use-case логику.

Repository - доступ к данным: find, save, выборки. Абстракция над БД/API. Возвращает сущности или коллекции.

Запрос: Controller -> Service -> Repository -> DB. Модель (Entity) - доменный объект; репозиторий работает с моделями.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.