Вопрос

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

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

Стоит ли следовать шаблону MVP или просто перейти на ASP.net MVC?

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

Я бы пошел на Asp.Net MVC, если это новый проект, но я согласен, MVP может быть хорошим примером для устаревших проектов веб-форм.

Вот пример из моего блога: http: // www .unit-testing.net / CurrentArticle / How-To-Use-Model-View-Presenter-С-Сеть САШ-WebForms.html

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top