MVP - ведущий модельного представления
Я посетил каждый сайт Google, каждый учебник, все, что я мог найти на MVP. Все слишком высокий уровень для меня. Я хочу что-то очень простое. Большинство вещей MVP прямо связаны с тем, "О, мы решаем это, создавая интерфейс и т. Д.". Я хочу знать, ПОЧЕМУ эти интерфейсы создаются. Я хочу видеть примеры и их обоснование, а не только... вот как работает шаблон MVP, используйте его... и т. Д.
Есть ли хорошие источники для этого, или кто-нибудь может объяснить это здесь?
Кроме того, я действительно не знаю, как реализовать привязку данных в WinForms, как говорят эти люди. Что плохого в том, что пользователь щелкает что-то, нажимает сохранить, а затем вызывает метод, который сохраняет эти данные в базу данных, а затем возвращается и перезагружает экран. Разве это не привязка данных? Если так, то почему я не видел чего-то, что просто объяснял подобные вещи для Data Binding в MVP.
2 ответа
Вы читали статью Фила Хаака о контроллере ASP.NET (представление представления модели) от схемы до модульных тестов и кода? Это очень хорошая статья о шаблоне MVP и о том, как его использовать.
Для WinForms посмотрите SO - Winforms - Примеры MVP
Хороший обзор MVP можно найти в Википедии:
http://en.wikipedia.org/wiki/Model-view-presenter
По сути, MVP - это эволюция классического MVC, который, по сути, предоставляет некоторые правила для устранения неоднозначности с тем, что подразумевается под "Контроллером" в MVC. Исторически возникли два типа контроллеров: контроллеры бизнес-логики и просмотр определенных контроллеров (нажатие кнопки мыши, загрузка страницы и т. Д.).
MVP работает по принципу, что ваша часть Model инкапсулирует все бизнес-данные и логику для приложения. Слой View отвечает за все события пользовательского интерфейса, а также за то, как отображать данные в модели для пользователя. Уровень Presenter берет на себя роль логики контроллера на стороне сервера - т.е. отвечает на запрос "отправить сообщение".
ПРИМЕЧАНИЕ. MVP, вероятно, немного ближе к первоначальному замыслу шаблона MVC.
Также взгляните на пост Джереми Миллера в 2006 году, который помог представить концепцию MVP:
http://codebetter.com/blogs/jeremy.miller/archive/2006/02/01/137457.aspx
С момента появления концепции MVP мир развивался, и Ruby on Rails научил мир создавать тестируемые веб-приложения и достаточно хорошо применять концепции MVC. Эти уроки добрались до MonoRail и ASP.NET MVC и сильно повлияли на их дизайн.