Будьте готовы принять HTML и код. В настоящее время я конвертировал пару корпоративных приложений из MVP в MVC, и мне понравился этот опыт, но есть некоторые вопросы, которые нужно задать себе.
- Я ориентирован на код или управляю?
- Хочу ли я использовать протокол HTTP (Get, Post и т. Д.) Или мне нравится абстракция веб-форм?
- Мне нравится работать с HTML или есть ресурсы для создания пользовательского интерфейса HTML?
Для меня преимущества (или недостатки в зависимости от вашей точки зрения)
- Пользовательский интерфейс был полностью свободен, чтобы быть тем, чем он должен был быть (больше не быть связанным с Asp.Net Controls)
- Мой словарь сместился с WebForms на просто Web (не говоря уже о DataBind)
- Стал доступен более крупный интернет-ресурс (я мог напрямую и легко применять большие аспекты того, что разработчики PHP, RoR и DJango делали в моем проекте MVC! Фактически, используя rails.js прямо сейчас в проекте, Awesome!)
- Как только ядро этих систем было написано, добавление функций или изменение вещей стало тривиальным.
- MVC заставляет вас думать о том, как данные поступают и выходят из вашего контроллера. Вы начинаете понимать, что, хотя пользовательский интерфейс важен, элементы управления Asp.Net WebForm не являются опорой.
- Забудьте о жизненном цикле страницы, он все еще там, но вы никогда не используете его. Он заменен супер простым конвейером MVC. (PreInit Что ?!)
- MVC Pipeline предоставляет некоторые большие возможности аспектно-ориентированного программирования, которые было трудно реализовать с помощью блока приложений.
- MVC - это отличная возможность использовать контейнеры IoC, такие как Unity 2, StructureMap или Ninject.
Все вышеперечисленное помогло мне доставить продукт быстрее и лучше, чем когда я делал MVP с AppBlock.
В конечном итоге переход на Asp.Net MVC был лучшим решением, которое я мог принять в своей карьере .Net, и я рад, что пришел в .Net Framework. А MVC такой крутой, что я смог преобразовать стойких ребят из WebForm MVP в верующих из MVC без их ведома.
Отправьте мне письмо, если у вас есть какие-либо конкретные вопросы.