шаблон проектирования MVVM обеспечивает связь между ViewModel и View и Observable и Observer?

Я изучаю шаблон проектирования MVVM и сейчас пытаюсь реализовать его в приложении для Android. Мне интересно, как изменения в ViewModel отражаются в представлении. разные руководства в Интернете показывают разные вещи, и некоторые из них предполагают, что ViewModel (Observable) должен уведомлять об изменениях в View (Observer), а не Activity/Fragment обновлять ViewModel и запускать представление для обновления.

Каков правильный/лучший способ реализовать это? если моя ViewModel не является наблюдаемой, значит ли это, что я неправильно следую MVVM?


person g.revolution    schedule 18.09.2015    source источник


Ответы (1)


Как правило, View должен знать о ViewModel, а ViewModel должен знать о Model, но открывать Model для View. Это выглядит примерно так:

View ---знает---> ViewModel ---знает---> Model.

Жизненно важно, чтобы эти стрелки оставались в этом направлении, если Model знает о ViewModel, тогда вся хорошая развязка будет потеряна.

ViewModel обязан крикнуть, когда свойство было изменено, и любой, кто слушает (ваше мнение), должен действовать соответствующим образом.

Я рекомендую потратить некоторое время на изучение этого руководства.

person Mike Eason    schedule 18.09.2015