android MVVM框架认识

1、框架图

这是安卓官方给出的一个基于MVVM框架的架构图。(我觉得而已,官方并没有这么说)

 

android MVVM框架认识

 

2、释义:

由 Activity 和 Fragment 共同承担的 view 部分,通过观察数据的方式,观察来自于ViewModel的数据变化,并做出相应变化。

ViewModel 可在被实例化时 从Fragment 处 获取 一些信息。它自身的数据来源于 Repository。

Repository 的数据来源有两种,一个是 本地数据库, 一个是远程服务端。

3、与MVP不同之处:

MVP 的Presenter是十分主动的,它会持有 View 的引用,同时承担 刷新视图 和 刷新数据 的功能。当 所需要处理的 业务变得十分复杂时,Presenter 会很臃肿。

MVVM 中 View 通过 观察数据的方式 来获取数据的变化,并 因此 而 变化 视图。它将 刷新视图 的任务 放在了 观察数据变化的 流 上,而 非由 ViewModel 去主动刷新视图。这使得 Model 和 View 之间的纽带 ViewModel变得轻松。ViewModel 因此也不用持有 View 的引用。