Привет. Вопрос в следующем. Начал разбирать для себя трёх уровневую архитектуру, не понял в чём её принципиальное отличие от MVC и как оказалось, я так же не правильно походу понимаю MVC.
В классической трёх звёнке, структура линейна, BLL и PL никогда между собой на прямую не общаются. Я тоже самое думаю про MVC. Возьмем например Yii2 и как я обычно пишу. View отрпавляет запрос, его обрабатывает контроллер, который дерагет методы в модели, та что-то готовит, отдает результат контроллеру, а тот рендерит новую view через render или еще каким то образом, например через rest запросы отдает данные в клиент, то есть обновляет view. И тут я для себя отличий не вижу между MVC и three tier. Однако я пошел на SO искать эти различия и услышал такую вещь
The main difference between both is:
A three tier architecture is the client tier never communicates directly with the data tier In a Three-tier model all communication must pass through the middle tier
MVC architecture is triangular: the view sends updates to the controller, the controller updates the model, and the view gets updated directly from the model
И действительно, если посмотреть на диаграмму в той же википедии
От модели мы видим стрелку с Update которая идет во View. То есть например всё с тем же примером из Yii, чтобы было конкретней, метод render нужно вызывать в модели, чтобы следовать паттерну MVC?
UPD: как я сейчас себе вижу MVC (хотя это может быть гибрид между 3 тир и MVC)