Полагаю, все зависит от вашей интерпретации того, что означает модель / вид / контроллер. Вот мои 2 цента:
Модель
Модель должна обрабатывать одну и только одну логику приложения. Если у вас есть модель User, то внутри этой модели должны быть только методы и атрибуты, относящиеся к User. Тем не менее, если возможно, постарайтесь не использовать логику комментариев внутри модели User. Они принадлежат модели комментариев. Создание условий, которые вызывают другую модель внутри текущей модели, будет переходом к другой части приложения. Для этого и нужны контроллеры.
Модели всегда должны отвечать абстрактными структурами. Модель никогда не должна отвечать чем-то отформатированным или основанным на строках. Обычно это должен быть массив, объект, простой тип int (предпочтительно константа модели) или логическое значение.
Контроллер
Контроллер должен обрабатывать входные данные (даже простое представление веб-страницы является входными данными), и на основе этих данных он должен вызывать логику приложения.
В вашем контроллере должны быть все условия, относящиеся к вызову той или иной модели.
Основываясь на абстрактном результате, он должен либо вызвать другую модель, либо собрать ответ и объединить его, чтобы он мог быть передан в представление в виде простых структур (старайтесь не передавать объекты в представление, но если вы столкнулись со сложными структурами в качестве возвращаемого значения модели, соберите их в массив и передайте в представление).
View
Вид - самый прямой из трех. Он должен иметь отформатированный ответ с простыми инструкциями, которые просто обрабатывают отображение (или в некоторых случаях сериализацию или преобразование ответа контроллеров в нечто, видимое другим приложением - браузером или третьим приложением, вызывающим API) *
Все сводится к тому, что вы задыхаетесь от архитектуры MVC. Старайтесь придерживаться постоянной «стратегии» развития на протяжении всего проекта.
Надеюсь, это поможет