Android MVVM模式
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 的代码有问题。
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Android MVVM模式
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Android MVVM模式