MVP означает Модель , Вид , Presenter , это шаблон кодирования.Это просто эволюция из шаблона MVC ( Модель , Вид , Контроллер ).См. страница википедии MVC .
Разница между MVP и MVC заключается в том, что в MVP модель и представление не знают друг друга.В MVP ваш взгляд должен быть настолько тупым, насколько это возможно.Все взаимодействия обрабатываются докладчиком.Это просто способ правильно организовать ваш код.
Некоторые люди создали фреймворки, чтобы уменьшить объем работы по организации вашего кода таким способом.Посмотрите на различные MVPimplementations.Их легко найти в Интернете.
MVP упрощает тестирование вашего кода, поскольку вы можете легко заменить свое представление другой реализацией (обычно Mock), которая будет имитировать поведение или ваше представление.Таким образом, вам не нужно запускать ваши тесты в среде браузера (представления GWT - это представления HTML).Таким образом, ваши тесты будут выполняться быстрее.
Документация Google гласит:
Платформа "Действия и места" позволяет создавать закладки URL в вашем приложении.
Таким образом, «Деятельности и места» - это гораздо больше, чем просто инфраструктура MVP.Тем не менее Activity является Presenter .
public interface Activity {
String mayStop();
void onCancel();
void onStop();
void start(AcceptsOneWidget panel, EventBus eventBus);
}
Вы можете использовать интерфейс Activity для своих докладчиков, не используя Places и другие объекты из Google.Но в этом случае вам, вероятно, следует написать своего рода Менеджер активности, который будет отвечать за запуск и остановку ваших действий.При запуске и остановке вы, вероятно, захотите создать свое представление, добавить его в dom, зарегистрировать обработчики событий и т. Д. И вы захотите уничтожить все это, когда остановитесь.
В некоторых других реализациях MVP вы можете найтиметоды bind () и unbind (), имеющие одинаковую роль.
Мощность реализации Activity Place от Google исходит от всех объектов, стоящих за объектом Place , который будет запускать или останавливать вашу деятельность и обрабатывать историю.
Place , как и другие люди, упомянутые выше, является просто отображением вашего URL.
В реализации Activity Place от google задействовано много объектов.Вот схема, чтобы помочь вам понять.Вы увидите, что это лишь малая часть всего этого. Более подробную информацию о моем блоге вы можете найти в этой статье
![enter image description here](https://i.stack.imgur.com/dHHmz.png)