Ну, если честно, есть много информации о MVC, которая вводит в заблуждение (поскольку никто не указывает, какую «итерацию / версию» MVC они обсуждают).Компоненты одинаковы: модель, вид, контроллер.
Но несколько источников устанавливают свои отношения по своему усмотрению.В оригинальном MVC, как я понял, контроллер упорядочивает представления, чтобы пользователь мог видеть и взаимодействовать.Пользовательский ввод обрабатывается контроллером, который отправляет обновления модели.Модель после изменения состояния отправляет сигналы для соответствующего обновления представления (что означает, что представление присоединено к модели).
Диаграмма компонентов, которую вы разместили, не является полностью неточной.Лучше всего взять пример и проанализировать эту диаграмму компонентов.Например:

Могут возникнуть некоторые другие вопросы, например, как контроллер может обрабатывать ввод, если пользователь всегда взаимодействует с представлением?Проверьте Подробности реализации MVC / M (VC)
Некоторые другие источники устанавливают контроллер как «мост» между моделью и представлением (веб-MVC), и взаимодействия являются двунаправленными (то естьконтроллер может также изменять представления, модель также может посылать сигналы контроллеру).