Один из распространенных вопросов, связанных с ASP.NET MVC, - почему вы должны использовать его через веб-формы ASP.NET? Ответ, как правило, включает ViewState и чистые URL-адреса, среди прочих. К концу вы найдете рекламу о том, как использовать правильный инструмент для работы и что они служат для разных целей. Тем не менее, я не верю, что когда-либо видел, что это за цели. Итак, когда бы вы выбрали ASP.NET MVC поверх веб-форм ASP.NET или ASP.NET Web Forms через ASP.NET MVC?
Когда использовать ASP.NET MVC или ASP.NET Web Forms?
Ответ 1
Вы не выбираете ASP.Net MVC через ASP.Net, потому что ASP.Net MVC по-прежнему является ASP.Net. Вы выбираете ASP.Net MVC или ASP.Net Web Forms, и есть много веских причин для этого:
- Легче получить контроль над своим HTML
- Легче выполнять модульное тестирование
- Немного "Gotchas"
С другой стороны, веб-формы имеют несколько моментов в свою пользу:
- Простое создание простых CRUD/бизнес-приложений вместе очень быстро
- Трудно превзойти производительность ViewState в локальной локальной сети.
- Легко изучать формы парадигмы
В результате, если вы создаете бизнес-приложения в корпоративной локальной сети (которая, честно говоря, по-прежнему является большинством веб-разработчиков), Web Forms действительно замечательный. В этом смысле Microsoft действительно знает свой рынок. Но если вы создаете приложение для общедоступного Интернета, вам может понадобиться MVC, чтобы вы могли тщательно протестировать и убедиться, что ваши страницы не раздуты с ненужными данными ViewState или JavaScript.
Кроме того, что-то, что изменилось за последние несколько лет, состоит в том, что даже многие приложения корпоративной интрасети теперь нуждаются в поддержке домашнего/удаленного использования, что делает MVC более привлекательным для этой толпы, чем это было.
Ответ 2
Используйте MVC, если все члены вашей команды достаточно квалифицированы для управления "контролем над HTML", иначе ваш код превратится в супруг тега .
Другими словами
bool useMvc = true;
foreach (TeamMember member in team.Members)
{
useMvc = useMvc && member.IsSkilled;
}
Ответ 3
http://weblogs.asp.net/shijuvarghese/archive/2008/07/09/asp-net-mvc-vs-asp-net-web-form.aspx
проверьте этот блог!
Нижняя строка "разделение проблем"
Ответ 4
Я дам вам пару целей с явными преимуществами.
-
Если ваша цель - публичный сайт, который будет тратить деньги на трафик, используйте MVC. Это оптимально для поисковой оптимизации.
-
Если ваша цель - это веб-приложение предприятия, которое работает как настольное приложение, я бы склонялся к веб-формам, поскольку управление штатами и разделение ваших ресурсов на базовые серверные элементы управления предоставляют огромные преимущества при правильном использовании.
Ответ 5
Самые большие проблемы, с которыми сталкиваются разработчики, - это управление сложностью и сохранение кода "чистым". MVC дает разработчику вожжи использовать ООП, чтобы убрать сложность и сделать код легким на глазах.
Веб-формы будут быстрее развиваться в краткосрочной перспективе, но не поддаются долгосрочной устойчивости с точки зрения обслуживания и роста.