Ответ 1
Если вы начинаете новый проект, то ASP.net MVC - лучший выбор. Но если вы просто хотите реорганизовать существующий проект, как вы только что сказали, MVP - это опция, потому что нет простого способа конвертировать эти коды веб-форм в MVC.
Я читаю о шаблоне ASP.net MVP в течение этих выходных, и кажется, что даже самая простая задача требует слишком больших усилий, если сделать это в шаблоне MVP, чтобы заработать, кажется, в более крупном проекте, но я думаю про себя, если я буду следить за MVP. Почему не просто выполнить проект в ASP.net MVC?
Причина, по которой я смотрю шаблон MVP, - это то, что я заметил, что во всех моих проектах ASP.NET Webform есть много кода в коде, стоящем за обработкой событий, если у меня есть много серверного управления на веб-форме, поэтому я смотрел на способ уменьшить это и наткнуться на шаблон MVP.
Стоит ли пытаться следовать шаблону MVP или просто переключиться на ASP.net MVC?
Если вы начинаете новый проект, то ASP.net MVC - лучший выбор. Но если вы просто хотите реорганизовать существующий проект, как вы только что сказали, MVP - это опция, потому что нет простого способа конвертировать эти коды веб-форм в MVC.
Я бы рекомендовал прочитать следующие две ссылки, чтобы вы могли ускорить работу MVP и MVC:
Переключиться?
Основываясь на том, что вы сказали мне, я бы рекомендовал использовать модель Passive MVP, упомянутую в статье выше.
Мои основные предположения:
Ваш вид (codebehind + aspx) существенно омрачен и просто выполняет простые задачи:
Я широко использовал эту модель для разработки Web Forms, и я не мог себе представить, что не могу Unit Test мой код модели и презентатора. После того, как вы создадите базовую модель, которая не займет много времени и увидит мощь модульного тестирования, работа с веб-формами становится приятной.
Некоторые ссылки на материал 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-With-AspNet-WebForms.html
Мое личное мнение заключается в том, что если в коде есть много кода, все еще есть способы, кроме принятия M-V-P, чтобы уменьшить его, реорганизовать и сделать его проверяемым.
если ваша страница имеет обширное взаимодействие с пользователем (например, включение/выключение кнопок/ссылок, панели и элементы управления, которые появляются/исчезают) M-V-P будет стоить хлопот.