В чем разница между презентером в mvp и моделью представления в mvvm

Мне нужно развеять некоторые сомнения относительно шаблонов проектирования mvp и mvvm

1) В mvp и mvvm кто обновляет представление. Presenter / view-model устанавливает данные, которые будут отображаться в представлении, или представление извлекает данные из presenter / view-model и отобразить ее

2) Чем отличаются друг от друга ведущий и модель представления. «MVVM использует привязку данных для обновления представления, тогда как докладчик использует традиционные методы обновления представления». Это?

8
0
2 513
1

Ответы 1

В MVP Presenter содержит ссылку на представление, обычно через интерфейсы. Когда докладчик вычисляет новые данные, именно он отвечает за вызов правильного метода в представлении / интерфейсе для обновления пользовательского интерфейса.

В MVVM ViewModel «просто предоставляет» данные (обычно через LiveData или Rx), поэтому это может быть наблюдаемый. Он не несет ответственности за то, кто наблюдает за данными и что с ними делается. Затем представление наблюдает за этими данными в модели представления и обновляет свой пользовательский интерфейс при изменении данных.

Чтобы получить полное представление о различиях между MVC, MVP и MVVM, я бы посоветовал взглянуть на https://thewikihow.com/video_QrbhPcbZv0I

поэтому в MVP презентатор обновляет представление, в то время как в MVVM представление отвечает за обновление представления, извлекая данные из модели представления. Я прав?

user6250541 06.05.2018 11:41

Что ж, в обоих сценариях представление (Activity, Fragment и т. д.) Отвечает за обновление представлений (например, setText). Однако разница заключается во взаимодействии между View и Presenter / ViewModel. Presenter содержит ссылку на представление и сообщает ему об обновлении. ViewModel предоставляет данные (как и нет ссылается на представление), и View решает, что делать с наблюдаемыми данными при их изменении.

NSimon 06.05.2018 18:05

Да, понял. Любой простой пример для mvvm и mvvm. Как и простые подробности о человеке, как о mvvm, так и о шаблоне mvp

user6250541 06.05.2018 18:47

Другие вопросы по теме