Controller - точка входа в приложение, выполняет подготовительные и предохранительные от взлома обязанности. Конвертирует request в framework agnostic DTO для обращение в доменный слой приложения. Результат работы домена конвертирует во viewDTO и делегирует отрисовку на view слой. Результат работы view слоя отправляет как responce. Любое исключение должно быть отработано и конвертировано в соответствующий ответ от сервера.
Model - самое ценное в приложение, то ради чего реализуются проекты. Эта часть приложения в идеальном мире не должна пересекаться с частями фреймворка. Через инверсию зависимости soliD в модели передаются реализации для работы с файловой системой и БД.
View - слой представления, в современных API приложениях, когда backend отдает json этот слой сильно исхудал. В Backen приложениях выделяется отдельный слой для работы по конвертации чистых данных в удобный человеку формат (HTML/JSON/XML...)
Понимание архитектуры MVC позволит Вам успешно пройти собеседование на backend developer и построить удобную для дальнейшего расширения архитектуру приложения.
Презентация