ASP.NET Model View Presenter стоит того времени?

Я читаю о шаблоне ASP.net MVP в течение этих выходных, и кажется, что даже самая простая задача требует слишком больших усилий, если сделать это в шаблоне MVP, чтобы заработать, кажется, в более крупном проекте, но я думаю про себя, если я буду следить за MVP. Почему не просто выполнить проект в ASP.net MVC?

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

Стоит ли пытаться следовать шаблону MVP или просто переключиться на ASP.net MVC?

Ответы

Ответ 1

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

Ответ 2

Я бы рекомендовал прочитать следующие две ссылки, чтобы вы могли ускорить работу MVP и MVC:

Переключиться?
Основываясь на том, что вы сказали мне, я бы рекомендовал использовать модель Passive MVP, упомянутую в статье выше.

Мои основные предположения:

  • Работа с существующей кодовой базой приложений WebForms
  • Вам необходимо использовать элементы управления ThirdParty.Net для существующих функций.
  • Работа с существующими приложениями и отсутствие времени для их архивирования
  • Все веб-приложения ASP.Net, над которыми вы работаете в будущем, вы можете постепенно применять пассивный MVP и сразу получать преимущества TDD.

Ваш вид (codebehind + aspx) существенно омрачен и просто выполняет простые задачи:

  • взять информацию, предоставленную ведущим
  • отвечает на события и возвращает информацию ведущему

Я широко использовал эту модель для разработки Web Forms, и я не мог себе представить, что не могу Unit Test мой код модели и презентатора. После того, как вы создадите базовую модель, которая не займет много времени и увидит мощь модульного тестирования, работа с веб-формами становится приятной.

Некоторые ссылки на материал MVP, которые я использовал, основаны на:

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

Надеюсь, что это поможет, не стесняйтесь задавать любые вопросы.

Ответ 3

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

Ответ 5

Мое личное мнение заключается в том, что если в коде есть много кода, все еще есть способы, кроме принятия M-V-P, чтобы уменьшить его, реорганизовать и сделать его проверяемым.

если ваша страница имеет обширное взаимодействие с пользователем (например, включение/выключение кнопок/ссылок, панели и элементы управления, которые появляются/исчезают) M-V-P будет стоить хлопот.