Википедия в начале статьи о MVC утверждает, что «MVC выпускается в разных вариантах ( Обзор MVC ). Иногда представление может напрямую читать модель и обновлять себя, иногда это делается контроллер.
Основная концепция, которую предоставляет MVC, - это отделение представления от представления, которое не должно содержать логики. Изменения в модели выполняются контроллерами, а изменения в представлении вызываются при изменении модели. Но это не означает, что контроллер не может быть тем, кто обновляет представление при изменении модели. Кто-то должен это сделать, верно? Лично я считаю, что иметь представление, непосредственно считанное из модели, не очень хорошая практика, так как это делает их слишком зависимыми, и эта модель и представление должны быть полностью разделены. Это замечательно, когда вам нужно внести изменения в вашу модель (например, поле изменяется с реального на вычисляемое) - вам не нужно менять свое представление (но вам, возможно, придется менять свой контроллер, но это обычно проще).
Надеюсь, это прояснит для вас.