После прочтения паттерна Model View Controller кажется, что он реализован в веб-фреймворках совершенно иначе, чем в настольных фреймворках. В веб-инфраструктуре MVC представление и модель никогда не взаимодействуют напрямую. Они могут общаться только с контроллером. Но в настольных реализациях кажется, что представление и модель могут взаимодействовать напрямую, что не имеет смысла для меня. Казалось бы, это противоречит цели MVC иметь отдельные, чистые, изолированные слои. Кроме того, что делает контроллер, если вид и модель взаимодействуют напрямую?
Вот диаграмма из Википедии , иллюстрирующая MVC.

Model-View-Controller