Упрощает ли внедрение шаблона MVP в приложении веб-форм переход на MVC? - PullRequest
2 голосов
/ 02 июня 2011

Поскольку шаблон MVP обеспечивает большую тестируемость и возможность повторного использования в приложениях веб-форм, я подумал, что это будет хорошим первым шагом к переходу на MVC для устаревших (веб-форм с кодом в коде позади, без шаблона). Поскольку я освежаю себя внутренностями MVP, это не кажется так. У любого есть опыт использования этого подхода. Было бы лучше просто добавить MVC в ваш проект и начать портирование страниц / просмотров?

Примечание. У меня есть приложения веб-формы, которые динамически внедряют элементы управления, сохраняя количество страниц до 4 или менее (одно-страничное приложение веб-формы).

Ответы [ 2 ]

2 голосов
/ 02 июня 2011

Правильное разделение интересов должно облегчить переход при необходимости.

Среда MVC подходит только для веб-приложений, в то время как MVP может быть более универсальной и может работать для веб-форм и форм Windows - представления реализуют интерфейсы дляПрезентаторы для использования и представления сами обрабатывают детали реализации, относящиеся к навигации.

Вы говорите, что вставляете элементы управления динамически.Если вы сделаете это, чтобы пользовательский интерфейс состоял из многократно используемых и самодостаточных компонентов, тогда этот принцип не работает с MVC - там контроллеры хотят иметь полный контроль над страницей, а реализация этого в MVC приведет к путанице подэтапов,частичные представления и совместное использование моделей представлений.

На мой взгляд, MVP + Web Forms лучше всего подходит для корпоративных веб-приложений, где страницы имеют высокую модульность с взаимосвязанными компонентами, MVC - для общих веб-сайтов, где страница соответствует одномудействие с объектом домена, обычно CRUD или оптимизировано для чтения.

1 голос
/ 02 июня 2011

Было бы лучше напрямую портировать на MVC, ИМХО, по нескольким причинам:

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

Мы используем MVP для проекта на работе. Для переноса моего проекта это было бы проще сделать, но я бы скорее выбрал конечный продукт, чем использовал бы этап миграции ... это займет меньше времени в целом и будет стоить дешевле, ИМХО.

НТН.

...