Вопрос на тостерре подтолкнул мою мысль, некоторое время уже работавшую в этом направлении.
И получилось у меня, что называем мы компоненты этого классического паттерна неправильно.
А правильно будет (по крайней мере, в случае с Ларавелью):
- Модели лежат в папке Controllers, при этом используя
- ORM из папки Models для манипуляции с данными
- Визуальное отображение лежит в папке Views
- Секретарша лежит в routes.php.
И тогда всё сходится! Меня как раз смутили рауты в Ларавели, которые ничтоже сумняшеся используются в виде таких мини-рулетиковконтроллеров, которые берут на себя кучу задач - вплоть до авторизации!.
И меня давно уже смущало, что во всех фреймворках моделью называется тупо маппер таблицы из БД.
А вот если в голове названия переиначить, то всё сходится:
Раут - это тот самый тонкий контроллер, о котором все время говорили большевики, но который никто не видел.
Контроллер - это та самая толстая модель, которая отвечает за бизнес-логику!
Модель - ОРМ, которым и является.
Вью остаётся на месте.
Логично?