Controller - HTTP: валидация ввода, вызов сервиса, формирование ответа (JSON/redirect). Без бизнес-логики.
Service - слой приложения: оркестрация репозиториев и домена, транзакции, события. Содержит use-case логику.
Repository - доступ к данным: find, save, выборки. Абстракция над БД/API. Возвращает сущности или коллекции.
Запрос: Controller -> Service -> Repository -> DB. Модель (Entity) - доменный объект; репозиторий работает с моделями.