Тож існує багато різних моделей дизайну в цій галузі.
- Presenter Model View (mvp)
- Presenter View View Model (mvvp)
- Контролер перегляду моделі
- Модель 2
і так далі. Протягом багатьох років вони перепліталися, пюрувались, змінювались та застосовувались у найрізноманітніших контекстах. Тут важливим є те, що модель дизайну MVC з 1977 р. Досить сильно змінилася, і це вже не модель дизайну, що використовується веб-рамками серверів. В якості прикладу в оригінальній реалізації малої розмови, Model буде дотримуватися виду змін, що вже не так, оскільки сервер просто не може спостерігати html елементи в браузері користувачів. Замість цього, якщо перегляд зміниться, представлення надішле запит контролеру, який потім оновить подання. Знову не виконується оригінальна реалізація MVC, оскільки оновлення моделі означає, що всі погляди, залежні від моделі, будуть оновлені.
Сучасні веб-рамки мають просту трирівневу архітектуру, також відому як архітектура Model 2.
Звичайно, в Інтернеті є приклади реальних архітектур MVC, але вони часто є лише клієнтськими, підключеними до сервера, який слідує за архітектурою Model 2, оскільки перегляди є xml та json і не спостерігаються за змінами. Прикладами чистої архітектури mvc на стороні клієнта є Sencha Touch та Sproutcore.
Якщо у браузері є MVC, mvc як на сервері та mvc як рівень даних, у вас є ієрархічна реалізація mvc.
Примітка. Я говорив лише про веб-рамки, інші реалізації MVC, такі як java swing і Flex, має інші відмінності в реалізації.