ASP.NET MVC напоминает мне старый классический код спагетти ASP - PullRequest
26 голосов
/ 19 декабря 2008

Я только что прошел некоторые уроки по MVC после того, как проверил этот сайт некоторое время. Это только я, или страницы MVC View возвращают УЖАСНЫЕ воспоминания классического кода спагетти ASP со всеми скачками в HTML и ASP.NET с желтыми разделителями, делающими невозможным чтение? Что случилось с важностью разделения кода и дизайна? Я действительно был продан за новую технологию, пока учебники не попали в раздел «Разработка страницы просмотра».

Или я что-то упустил? (И не говорите, что вы можете использовать шаблон, чтобы помочь, потому что он просто перемещает спагетти в другое место - подметает его под ковриком - это не решает проблему)

Ответы [ 14 ]

1 голос
/ 19 декабря 2008

Это было упомянуто на PDC, они упоминали, что это было слишком "классическим ослом", как со всеми <% =. Но они также упомянули, что будут добавлять стандартные теги и элементы управления ASP.Net. </p>

Все, что им нужно, - это получить стабильную версию, а затем упростить работу с ней.

PDC Видео: http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC21.wmv

0 голосов
/ 31 января 2011

Для записи:

Я думаю, что проблема real в ASP MVC заключается в контроллере, тривиально (на большинстве языков) использовать (или эмулировать) некоторую шаблонную схему (даже в ASP classic), и любой язык может это сделать модель (с объектами или нет), но MVC вынуждает вас отделить контроллер от представления и модели, вздувая код в процессе.

Обычные веб-сайты опираются на полную форму-публикацию / получение и в AJAX, если вы используете оба, то вы превращаете «C» из MVC в беспорядок.

В конечном счете, большинство программистов прекращают «обманывать», помещая вызов ajax в слой VIEW.

0 голосов
/ 15 октября 2009

В классическом ASP у вас не было возможности вывести бизнес-логику из уровня пользовательского интерфейса. В ASP.Net MVC код "спагетти" изолирован от уровня пользовательского интерфейса, View; 90% вашей логики будет в слоях "M" и "C", которые являются обычными, не спагетти классами C #.

Вид должен быть "тупым". В этом нет ничего критического с точки зрения бизнес-логики. Он должен быть почти одноразовым.

Вы можете беспорядочно покрасить комнату, не нанося вреда структуре. Если вы решили почистить его и перекрасить, вам не нужно звонить архитектору. То же самое с видом.

0 голосов
/ 14 октября 2009

Потому что людям, стоящим за MVC, действительно нравились страницы ASP / JSP, и они хотят реализовать их снова и снова. Они, кажется, ненавидят:

  • ViewState
  • Существующие элементы управления ASP.Net
  • Чистый HTML
  • Существующие пользовательские элементы управления
  • 1012 * Обратная передача *

Они, кажется, любят:

  • Изобретая колесо
  • REST-ful url

MVC по сути является способом принудительного отделения кода от представления. Если разработчик действительно заботился достаточно, это можно было бы легко достичь с помощью обычного Asp.Net. В любом случае можно панкнуть всю систему «разделения», поэтому я не вижу смысла.

Как говорится, в этом есть некоторая заслуга ... но недостаточно, чтобы перевесить проблемы. MVC версии 3, я уверен, будет потрясающим.

И прежде чем кто-нибудь отметит меня -1, посмотрите, на сколько вопросов о MVC я ответил. Я знаю, о чем говорю.

UPDATE Если вы серьезно относитесь к своему разделению, то, взглянув на него, chaiguy1337 - это хорошо. Шаблон строки выглядит великолепно , потому что он не допускает никакого кода в вашем интерфейсе! На мой взгляд, команда ASP.net MVC бросила мяч на MVC.

...