ASP.NET MVC против веб-форм - PullRequest
3 голосов
/ 19 марта 2009

У меня очень простой вопрос о MVC.

Что это на самом деле и почему я должен это заметить. Я знаю, что это не замена asp.net, но что я не могу сделать в ASP.NET и, следовательно, требую MVC.

Я знаю, что google.com - лучший способ найти ответы на некоторые вопросы, но я подумал, что если кто-то здесь, кто знает это очень хорошо, сможет объяснить мне, я был бы очень благодарен.

Ответы [ 4 ]

4 голосов
/ 19 марта 2009

ASP.NET MVC использует другой шаблон проектирования, чем веб-формы. Целью MVC является разделение разных задач на разные уровни.

В ASP.NET MVC есть несколько полезных вещей, таких как скаффолдинг (в основном вы предоставляете ему источник данных, и он генерирует для вас базовую форму) и перезапись URL. Конечно, вы можете сделать это с помощью веб-форм, но MVC делает это из коробки для вас, что приятно.

В ASP.NET MVC дает вам больше контроля над разметкой (или, по крайней мере, более легко дает вам контроль над разметкой). Для многих это очень приятно иметь. Тем не менее, вы также потеряете некоторые вещи, с которыми легко работать с веб-формами ASP.NET, например ViewState.

Кроме того, я хотел бы добавить, что вы можете смешивать и сочетать веб-формы и MVC, так что это не ситуация «все или ничего».

Надеюсь, это помогло.

4 голосов
/ 19 марта 2009

Вначале я скажу, что распространенным заблуждением является то, что MVC предназначен для замены веб-форм, как вы предлагали. ASP.NET MVC - это просто реализация ASP.NET шаблона MVC . Я бы порекомендовал вам проверить этот пост и этот пост . Как вы упомянули, вы можете не только искать в Google, но и здесь.

Вы можете проверить запись ScottGu, объясняющую это (опубликовано в 2007 году).
Также у премьер-министра ASP.NET MVC Фила Хаака есть информация в его блогах о MVC

2 голосов
/ 19 марта 2009

Вам понадобится простой тестовый проект с MVC, чтобы понять преимущества и недостатки. Чтение блогов и статей, хотя и полезных, не принесет вам особого понимания. Просто проверьте это, сделайте свой собственный опыт.

1 голос
/ 19 марта 2009

Одна вещь, которую я хотел бы добавить к предыдущим ответам, заключается в том, что если вы вообще не хотите использовать MVC, вы можете использовать шаблон MVP для разделения проблем с помощью WebForms.

Вот хорошая статья от Фила Хаака.

http://haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx

Хорошая вещь в шаблоне MVP состоит в том, что вы можете работать таким образом, чтобы переключать логику представления с ASP.NET на Silverlight, WinForms или даже WPF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...