-
- 一:android 分层框架概述
-
二、Android开发中MVC与MVP的区别
-
三、MVVM架构优势(单独讲)
-
四、深入学习MVVM组件化
-
五:android MVVM框架实现 Robobinding
-
六、android 官方databinding使用
-
七、修改Model后自动更新UI
==========================================================================
目前因为Controller(Activity)和View,Model没有实现解耦,造成Activity既要负责处理业务逻辑,又要负责UI显示,数据绑定,所以造成Activity里代码过多,逻辑不清楚,对代码的可读性,可维护性不是很好,所以采用一些分层模式,可以更为有效的对业务逻辑层,UI显示层,数据层进行拆分,集中分层模式有:
-
目前使用的最多的是MVC和MVP。
-
其中MVC出现与上世纪70年代,在三十多年的工程实践中,MVC充分证明了它的成功,同时在漫长的时间中演变出了许多变种,其中也包括MVP。MVC和MVP最大的差别在与控制层对于整个框架的控制力上。
-
MVVM可以算是MVP的升级版,其中的VM是ViewModel的缩写,ViewModel可以理解成是View的数据模型和Presenter的合体,ViewModel和View之间的交互通过Data Binding完成,而Data Binding可以实现双向的交互,这就使得视图和控制层之间的耦合程度进一步降低,关注点分离更为彻底,同时减轻了Activity的压力
-
三者之间的差别如下:
**甘特图
Mon 07 Mon 14 1.MVP 2.MVC 3.MVVM 进步图 安卓各类框架进步
**流程图
被替代
MVP
MVC
MCV
MVVM
话不多说,直接上图
1.MVC架构图
2.MVP架构图
三个架构
| 架构类型 | 构造子 |
| — | — |
| MVP | Model, Presenter, View |
| MVC | Model, Controller ,View |
| MVVM | Model, View ,ViewModel |
3.简要分析区别
-
Activity职责不同,Activity在MVP中是View层,在MVC中是Controller层,这是MVC和MVP很主要的一个区别,可以说Android从MVC转向MVP开发也主要是优化Activity的代码,避免Activity的代码臃肿庞大。
-
View层不同,MV