2009-02-06 5 views
6

Есть ли недостаток, с которым вы сталкиваетесь, когда используете asp.net MVC?В чем заключается недостаток использования asp.net MVC?

EDIT
Если да вы можете перечислить некоторые из этих недостатков,

+0

недостаток в отличие от ...? – Javier

+0

Ха, этот комментарий сделал мой день. –

ответ

3

Это действительно зависит от типа проекта. Некоторые люди, такие как MVC, из-за того, что SEO извлекают выгоду из чистых URL-адресов и позволяют пользователям разумно «взламывать» URL-адреса, делая разумные урны. MVC поставляется с расходами, которые вы потеряете веб-элементы управления, и поэтому нет ASP.NET AJAX и нет сетки перетаскивания из вашей библиотеки пользовательского интерфейса.

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

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx http://msdn.microsoft.com/en-us/library/ms972974.aspx

Так, насколько «недостаток» в использовании MVC, это может быть более личный в том, что

  • Вы хотите пройти кривую обучения при выполнении MVC?
  • Вы полагаетесь на элементы управления? Можете ли вы прописать то же самое с помощью хорошего HTML-кода, CSS?
  • Можете ли вы «потратить время» на выполнение MVC, когда лучшая часть вашего проекта выиграет от времени кодирования?
  • Если все, что вы ищете, это SEO, является переписывание URL-адресов лучшим подходом для ваших нужд?

Я бы сказал, что недостатки действительно относительно разработчика и проекта.

+4

Loosing WebControls - отличное * преимущество * – Jamiec

+0

Интересно, есть ли у Grid-управления, который уже имел автоматическую сортировку, пейджинг и все что-то плохое. – TheAgent

+0

Вы суммировали MVC для очистки URL-адресов и SEO! Есть много способов сделать сайты SEO дружественными в веб-формах ASP.NET! –

1

вещи, как состояние управления (текст в поле ввода) требует ручной обработки для одного, можно сравнить с WebForms .. если вы используете его «правильно ».

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

(я имею в виду, что вы можете запускать большинство нормальных asp.net вещи внутри MVC приложения, но если вы сделаете это широко, вероятно, вы должны просто запустить веб-форму.)

6

С WebForms у вас есть множество пре- встроенные элементы управления пользовательским интерфейсом, такие как сетки, графические инструменты и т. д. Существует целая индустрия элементов управления RAD.

К сожалению, с ASP.NET MVC этот материал еще не совсем там.

+4

Ха, для вас это недостаток. Я рассматриваю это как выгоду, поскольку все эти готовые вещи в конечном итоге становятся более трудными, чем они стоят. –

+1

+1 к этому. Большинство этих элементов управления имеют столько же головной боли, сколько и функциональность. –

+1

Я на самом деле вижу это как преимущество тоже :) –

1

ASP.NET требует маршрутизации IIS7 (то есть Windows Server 2008 или Vista). Вы можете запустить его на IIS6 в Server 2003, но вы потеряете прохладу маршрутизации без расширения.

+2

Неточная. Вы можете получить маршрутизацию без расширения на IIS6 с помощью подстановочного сопоставления (см. Http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx) –

2

Кривая обучения и отсутствие предустановленных элементов управления, что ухудшит производительность разработчика WebForms.

Я могу дать вам, однако, очень хорошее преимущество: если вы еще этого не сделали, вы, наконец, узнаете основы HTML/CSS и HTTP, которые необходимы для любого серьезного веб-разработки, а не только перетаскивая вещи в редакторе.

4

Самым большим недостатком является то, что вы, вероятно, будете вынуждены использовать JavaScript/AJAX для достижения более сложных форм. Например, если у вас есть целая куча виджетов (скажем, datagrids, дополнительные боковые формы и т. Д.), Которые не являются непосредственно частью текущего View, управляющее состояние - боль.

В ASP.NET WebForms, viewstate автоматически обрабатывает это, так что вы можете иметь несколько независимых элементов управления, отправляющих назад и запускающие события, не испортив ничего на странице.

В ASP.NET MVC вам нужно обрабатывать все это самостоятельно, и самый простой способ - просто перемещать вещи на стороне браузера.

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

0
  1. Для сайтов ASP.NET MVC требуется в среднем в 10 раз больше времени разработки, чем традиционные сайты ASP.NET.
  2. Он не использует мощные элементы управления asp.net.

  3. Код не читается. Если вы сделали, чтобы добавить некоторые улучшения на веб-сайте, разработанной кем-то еще, вы будете ехать орехи ..

1
  • Сложность высока для разработки приложений, использующих этот шаблон .
  • Не подходит для небольших применений, которые оказывают неблагоприятное воздействие на производительность и дизайн приложения .
  • С точки зрения сервлетов и JSP, как правило, содержит бизнес-логику, так и уровень представления.
  • Изолированный процесс разработки авторами пользовательского интерфейса, бизнес-логикой авторы и авторы контроллера могут привести к задержке в их соответствующих модулях .
  • Разработчики не могут полностью игнорировать вид модели, даже если они decoupled.If модель претерпевает частые изменения, мнение может быть затоплен с обновлением requests.Views как графические дисплеи может занять некоторое время, чтобы вынести. В результате, представление может отставать от запросов на обновление . REF: http://www.careerride.com/MVC-disadvantages.aspx
Смежные вопросы