РЕДАКТИРОВАТЬ: Я заметил тег PHP только после ответа на вопрос, однако, прочитайте комментарии, поскольку первоначальный вопросник нашел ссылку полезной, поэтому я оставлю этот ответ здесь.
Джеффри Палермо (один из авторов ASP.NET MVC в действии ) имеет пост в блоге, обсуждающий эту самую вещь:
Вы не должны использовать ASP.NET MVC, если. , .
Он заявляет, что вам НЕ следует использовать ASP.NET MVC, если:
- Вам не очень комфортно с полиморфизмом
- Вы не хотите строить поверх фреймворка
- Вы полагаетесь на элементы управления сторонних поставщиков для большого количества пользовательского интерфейса
- Вы не хотите использовать библиотеки с открытым исходным кодом
Я думаю, что большой «стоп-сигнал» в этом списке может заключаться в использовании сторонних элементов управления (в частности, замен GridView и т. Д.), Которые не очень хорошо работают с платформой MVC (т.е. внутренние элементы управления используют Viewstate) и / или постбэки). Возможно, вы работаете в компании, которая обязывает использовать какой-либо сторонний элемент управления для обработки определенных функциональных возможностей веб-компонента (наиболее очевидным из представленных элементов управления GridView или Calendar), а не «встроенный» ASP Элементы управления .NET, обеспечивающие аналогичную функциональность. Действительно, многие из более сложных встроенных элементов управления, основанных на ASP.NET WebForms, не очень хорошо работают с моделью MVC из-за их зависимости от состояния представления / обратных передач и других неподдерживаемых функций модели MVC.
Кроме того, если приложение ASP.NET, которое вы создаете, невероятно маленькое и тесно ориентировано на одну функцию, его можно было бы быстрее разработать с использованием более «традиционной» платформы WebForms, а не MVC, однако для чего-то большего (то есть, вероятно, большинство коммерческих / корпоративных приложений) MVC, возможно, является лучшим выбором, так как он обеспечивает гораздо большую тестируемость создаваемого кода и способствует лучшему разделению проблем.