В чем суть MVPVM?

Рейтинг: 0Ответов: 1Опубликовано: 18.08.2023

MVPVM - это комбинация MVP и MVVM, с целью разграничить Model и ViewModel. Data Binding также работает между View и ViewModel.

Мне не понятно:

  1. Кто будет посылать View "сообщение о том, что нужно обновить интерфейс": Presenter или ViewModel?

  2. Представим, что пользователь нажал на кнопку, кто получит об этом информацию, понятно что ViewModel (Data Binding) и передаст инфу к Presenter для обработки, или сразу получит эту информацию Presenter от View?

Все диаграммы путают меня.

Ответы

▲ 0Принят
  1. Кто будет посылать View "сообщение о том, что нужно обновить интерфейс": Presenter или ViewModel?

Также как и в MVP, это обязанность Presenter'а. Presenter решает, когда и как обновить интерфейс на основе изменений в данных или пользовательских действий.

  1. Представим, что пользователь нажал на кнопку, кто получит об этом информацию, понятно что ViewModel (Data Binding) и передаст инфу к Presenter для обработки, или сразу получит эту информацию Presenter от View?

Пользовательское действие (нажатие на кнопку) будет обработано View и передано Presenter'у для дальнейшей обработки. Presenter может решить, нужно ли обновить данные в Model или ViewModel и, соответственно, обновить View.
ViewModel и Presenter могут взаимодействовать между собой, но их основные обязанности разделены. ViewModel отвечает за предоставление данных и логику для отображения, а Presenter — за обработку пользовательских действий и управление обновлениями интерфейса.