ASP.NET MVP как симбиоз веб-форм ASP.NET и ASP.NET MVC - PullRequest
3 голосов
/ 11 июля 2010

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

Теперь я обнаружил, что существует третий подход к разработке ASP.NET: ASP.NET MVP : http://webformsmvp.com/

Кто-нибудь уже имел опыт работы с этим третьим типом ASP.NET?

Является ли это официальным подходом Microsoft соответственно, поддерживается ли он Microsoft?

Стоит ли более детально взглянуть на это?

Является ли это многообещающим сочетанием обоих миров ASP.NET?

1 Ответ

3 голосов
/ 11 июля 2010

Это, очевидно, субъективное мнение, и оно зависит от конкретной проблемы, которую вы решаете.

Если у вас есть простое приложение, которое не требует большого технического обслуживания и где важно демонстрировать быстрые результаты, я думаю, что имеет смысл использовать MVP именно по тем причинам, о которых вы упомянули - используя наборы навыков команды и РАД.

Для чего-то более сложного, я не думаю, что это хорошая идея. Как вы упомянули, MVP похож на модели настольных графических интерфейсов; ASP.NET MVC разработан для веб-запросов и ответов. Архитектура представления, в частности с введением EditorFor и DisplayFor, оптимизирована для использования в качестве шаблона, который извлекает данные из модели.

С точки зрения тестируемости MVC очень хорошо справляется с тестированием небольших компонентов. Я думаю, что вы бы потеряли многие из этих преимуществ с MVP, так как представление и докладчик более тесно связаны. По сути, MVC принимает концепцию шаблона «скромный диалог», которая стремится минимизировать код пользовательского интерфейса, потому что он по своей природе непроверяем. (ASP.NET) MVC также охватывает веб, создавая чистый HTML, разработанный для CSS-стиля и дополненный javascript (jquery). Я думаю, что MVP рекомендует вам рассматривать представление как холст «виджетов», который, кажется, всегда приводит к созданию разметки, с которой вам придется бороться.

Наконец, я думаю, что всякий раз, когда вы используете платформу, предназначенную для поддержки одного подхода (MVC), и немного меняете его (MVP), вы в конечном итоге плывете вверх по течению. Вы не можете использовать советы, статьи и технологические разработки, которые естественным образом основываются на мейнстримном подходе. Например, лично я предпочел бы использовать движок альтернативного представления с MVC вместо движка WebForms. Но я не сделал этот шаг, потому что он нестандартный. Иногда «стандартные» бьет лучше.

...