Я видел документ, описывающий «треугольную» форму MVC раньше, и я полагаю, что кто-то в какой-то момент заставил его работать (либо это, либо документы об этом просто говорят об утере). Тем не менее, я не нашел в этом практического применения, так как это приводит к серьезной проблеме программного обеспечения: «Циркулярная зависимость». Если ваше представление зависит от точной формы модели, чтобы она выполняла некоторые запросы, а модель зависит от точной формы контроллера, а контроллер зависит от точной формы представления, тогда становится практически невозможным фактически обменять из любого из этих элементов.
Я нашел очень полезным иметь модель, которая не зависит от чего-либо большего, чем простая программа командной строки. Представление, которое не зависит ни от чего, кроме инструментария gui или графического рисования api, который вы используете, так и от контроллера, который выступает в роли брокера между ними, позволяя эту развязку.Это стратегия, которая позволяет создавать модели и представления, которые являются модульными и взаимозаменяемыми, оставляя только один компонент: контроллер со всеми этими неприятными зависимостями.
Конечно, может быть какая-то «официальная» версия шаблона MVC, но я не смог пробиться сквозь какой-либо документ, чтобы описать такую вещь в такт, с любым большим чувством, что это действительно применимо к системам реального мира. Но, может быть, я просто так глуп.
Во многих статьях, которые я читал, они говорят, что View может говорить с моделью. Это не типичная или каноническая версия шаблона. – Dinah