Android开发Android知识,Tinker,Hybrid,组件化,AOP,OKHttp,Jetpack...Android开发经验谈

Android MVVM模式

2019-03-03  本文已影响29人  小红军storm

1、MVVM模式各部分的定义

1.1、MVVM模式分为3个部分:Model、View和ViewModel。

(1)Model :数据层,包含数据实体和对数据实体的操作。

(2)View : 界面层,对应于Activity、XML、View,负责数据显示以及用户交互。

(3)ViewModel : 关联层,将Model和View进行绑定,Model或View更改时,实时刷新对方。

1.2、注意点

(1)View只做和UI相关的工作,不涉及任何业务逻辑、不涉操作数据、不处理数据。UI和数据严格的分开。

(2)ViewModel只做和业务逻辑相关的工作,不涉任何和UI相关的操作、不持有控件引用,不更新UI。

2、MVVM模式图

mvvm模式图.png

3、MVVM的优势和劣势

3.1、MVVM的优势

(1)、使得M,V,VM的解耦更加彻底,在mvp模式中,p需要持有v的引用,才能去刷新ui;在mvvm模式中,View和Model使用databingding进行双向绑定,一方改变会直接通知另外一方,使得viewmodel能专注于业务逻辑的处理,而不需要去关心ui刷新。(最大优势,下面两个可忽略。)

(2)、不需要findViewById也不需要butterknife,不需要拿到具体的View去设置数据等,这些都可以用DataBinding完成。

(3)、不会像MVC一样导致Activity中代码量巨大,也不会像MVP一样出现大量的View接口。项目结构更加低耦合。

3.2、MVVM的劣势

MVVM的缺点数据绑定使得Bug很难被调试。你看到界面异常了,有可能是你 View 的代码有 Bug,也可能是 Model 的代码有问题。

上一篇 下一篇

猜你喜欢

热点阅读