Предложения по переходу с веб-форм ASP.NET на ASP.NET MVC?

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

Что у меня есть: типичное приложение ASP.NET с сильно связанной презентацией и бизнес-логикой, все виды беспорядочного Javascript, генерируемого ASP.NET, и так далее.

Что я хочу: чистая агностическая разметка, сгенерированная ASP.NET MVC. 'Достаточно.

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

Спасибо!


person Community    schedule 17.08.2008    source источник


Ответы (4)


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

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

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

В настоящее время мы также перемещаем приложение ASP / ASP.NET на ASP.NET MVC, и в любом случае к такому выводу привели мои подготовительные исследования.

Здесь это сообщение со ссылками на использование ASP.NET MVC, но я бы начал с читая этот пост. Сообщение посвящено NHibernate (инструменту ORM) на поверхности, но обсуждение и ссылки посвящены созданию правильных основ и являются результатом подготовки к переносу сайта ASP.NET на MVC. Некоторые из эталонных архитектур, ссылки на которые приведены в этом посте, основаны на ASP.NET MVC. Вот еще одно сообщение о NHibernate, но в разделе «Лучшие практики и справочные приложения» большинство, если не все перечисленные справочные приложения, также являются приложениями ASP.NET MVC. Эталонные архитектуры могут быть чрезвычайно полезны для быстрого понимания того, как можно спроектировать оптимальный, поддерживаемый сайт ASP.NET MVC.

person Nathan    schedule 17.08.2008

Вау, я не уверен, что мы больше говорим о миграции - разница больше похожа на переписывание!


Как уже говорили другие, MVC - это совершенно новый способ создания веб-приложений - большая часть вашего кода презентации не будет работать.

Однако, если вы переписываете в MVC, то, что у вас уже есть, будет хорошим прототипом. Вероятно, ваша проблема заключается в том, что это будет сложно делать по крупицам - например, MVC использует переименование URL-адресов из коробки, что делает связывание туда и обратно довольно беспорядочным.

Другой вопрос, почему? У многих из нас есть большие разрастающиеся устаревшие приложения, которые мы хотели бы использовать с использованием новейших технологий, но если ваше приложение уже работает, зачем переходить?

Если бы я прямо сейчас смотрел на новое приложение, MVC был бы очень сильным кандидатом, но нет достаточного выигрыша, чтобы переключиться на него в конце проекта.

person Keith    schedule 17.08.2008

WebForms могут работать с контроллерами MVC в одном приложении. По умолчанию маршрутизация не направляет запросы на файлы, существующие на диске. Таким образом, вы можете начать переписывать небольшие части вашего сайта за раз, чтобы использовать шаблон MVC, а остальную часть оставить с помощью WebForms.

person Haacked    schedule 28.08.2008

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

person Dale Ragan    schedule 17.08.2008