Как вы выбираете между веб-формой asp.net и приложением MVC? - PullRequest
1 голос
/ 26 марта 2009

Это сложный вопрос, потому что он очень широкий.

Кто-нибудь знает о системе оценки вопросов, которая поможет в выборе между WebForms и приложением MVC в начале проекта?

например. Является ли TDD важной частью этого проекта? (Если да, наберите 1 для MVC и 0 для веб-форм)

Ответы [ 4 ]

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

Если вы не работаете над приложением, ориентированным на данные, и вам не нужны серверные элементы управления с привязкой данных и viewstate, я бы выбрал MVC.

Я не делал ничего серьезного в веб-форме с момента предварительного просмотра MVC 2. MVC намного лучше в отношении шаблонов проектирования и лучших практик.

И да, IMO TDD очень важен и дает MVC более 1 балла.

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

Я бы рассмотрел следующее:

  1. Текущий набор навыков команды. Если у вас большая команда, которая не собирается быстро брать MVC, но чувствует себя комфортно с веб-формами, я бы остановился на веб-формах

  2. Какой уровень контроля вам нужен? MVC дает вам больше контроля, но это также означает, что вы будете делать много дополнительных вещей самостоятельно. WebForms дает вам намного меньше контроля, но в коробке гораздо больше вещей. Если для вас важна возможность контролировать вывод HTML, возможно, MVC лучше подойдет.

  3. Вам понадобится сторонняя интеграция? Существует не так много сторонней поддержки контроля для MVC, но есть тонна поддержки веб-форм. Получить красивую сетку в веб-формах просто, но вы будете писать большую часть своего собственного кода в MVC, чтобы решить эту проблему

  4. Как вы упомянули, желательно ли TDD?

  5. Государственное управление намного проще в веб-формах

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

У меня тест на один вопрос (отказ от ответственности: он далек от совершенства, но выполняет много времени, заставляя вас ориентироваться на каждую из технологий):

Является ли ваше приложение более ориентированным на форму (например, содержимое интрасети или что-то в этом роде) или вы создаете веб-сайт, выходящий в Интернет (например, StackOverflow). В первом случае я бы, вероятно, пошел с веб-формами. Последний случай, вероятно, лучше удовлетворяется ASP.NET MVC.

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

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

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

После использования их обоих, я решил, что теперь мне нужно использовать серверные элементы управления? Если я этого не сделаю, я по умолчанию использую MVC.

Если вы по какой-то причине застряли с WebForms, вы могли бы реализовать шаблон MVP (Model-View-Presenter) *1006*, чтобы отделить представление от логики и иметь некоторую надежду на модульное тестирование кода.

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