По порядку ваших вопросов:
1 // Нет. Веб-формы основаны на шаблоне «Smart UI», т.е. вы управляете приложением, создавая обработчики событий. У Smart UI есть свои проблемы, но когда он полностью основан на десктопе, он работает нормально, в том смысле, что для его работы в инфраструктуру не вводится никакой «фантастики». Однако в Интернете, который работает через HTTP без сохранения состояния, вводится основная вымысел, в основном в виде ViewState, который хранит состояние всех элементов управления, когда страница была отправлена в браузер клиента. В результате веб-формы привносят в ваши приложения уровень сложности, который предназначен только для поддержки этой меры. MVC устраняет эту фикцию.
Фантастика, по сути, гласит: мы будем делать вид, что между нами и клиентом нет HTTP.
2 // MVC удаляет беллетристику и дает вам голый HTTP. Однако он больше основан на Front Controller, чем на шаблоне Page Controller, поскольку шаблон Page Controller делает тестирование контроллера независимо от запросов Http сложным, тогда как MVC специально разработан для того, чтобы сделать контроллер тестируемым независимо от HTTP-запросов. Другими словами, MVC предназначен для обеспечения модульного тестирования на контроллерах, а не интеграционного тестирования.
MVC фокусируется на отделении Модели от Представления, тогда как Webforms / Smart UI не делает этого различия.
Полагаю, что для исключения Page Controller из ASP.NET MVC вы могли бы сказать, что ASP.NET рефакторирует влияние HTTP на контроллеры на «ортогональные атрибуты», что не заставляет меня думать, что Шаблон Контроллера страниц работает. Однако, не цитируйте меня по этому поводу, я изучаю эти вещи, а не эксперт.
3 // Нет, определенно НЕТ! Как обсуждалось выше, веб-формы являются вымышленным интеллектуальным интерфейсом, а не MVC в любой форме или форме. Вы можете пройти через несколько обручей, чтобы сделать их чем-то вроде MVC (а-ля Dino Esposito), но это опять-таки фикция. Зачем заниматься фантастикой, если у вас есть ASP.NET MVC?
Финальная сторона. Причиной, по которой я переключился с веб-форм на mvc, был Wizard Server Control. Его «Модель событий» - это жестокая вещь, которая бросает вызов всему, что мне нужно для достижения (не говоря уже о удушающем распространении других свойств, методов ... Тьфу!).
За 10 дней я написал базовый WizardController, и теперь мои волшебники - это вещи красоты, элегантности и простоты. Я радостно отбросил 3 месяца работы над мастерами в веб-формах, чтобы преобразовать их в мою новую мини-мастерскую среду. Это очень плохо.