Ну, в основном: разделение проблем на уровне использования, а не на физическом уровне.
Цитирование PoEAA на MVC
MVC разделяет взаимодействие с пользовательским интерфейсом на три разные роли.
В MVC вы отделяете представление (V, C) от логики домена (M) и также отделяете поведение пользовательского интерфейса (C) от интерфейса пользователя.дисплей (V).Это гораздо более приемлемо, чем объединение всех трех проблем в одну, а также способствует повторному использованию и тестированию.Это позволяет вам лучше справляться со сложностью.
Это не относится к веб-приложениям.Подходит для любых приложений с доменной логикой и пользовательским интерфейсом.С учетом вышесказанного я бы не сказал, что MVC - это наиболее подходящий шаблон для веб-приложения.Если все, что вы хотите сделать, это разместить, скажем, контактную форму в Интернете, то сценария «все в одной странице» будет достаточно.Если у вас есть только несколько статических страниц, MVC тоже излишний.Как и в случае с любыми шаблонами, это зависит от проблемы, которую вы хотите решить.
Что касается n-уровня, «классический» MVC не предусматривал его использования в Интернете.С представлением пользовательского интерфейса в браузере и на контроллере на удаленном сервере MVC в Интернете также всегда является многоуровневой архитектурой, поэтому вначале существует различие между сценарием использования и физическим.MVC просто не заботится о том, где это происходит.
Также см .: