Хороший обзор 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 и сильно повлияли на их дизайн.