Android MVC ,MVP,MVVM 常见架构浅谈
简述:其实任何架构的目的都是:提高开发效率,降低维护成本;
MVC:
Model: 负责处理数据逻辑,一般包括操作数据库,耗时网络操作等组成;
View:负责处理视图; 一般是xml布局;
Control: 负责处理业务逻辑, 一般为 Activity,Fragment 承担这个事情;
MVP
Model: 负责处理数据逻辑,一般包括操作数据库,耗时网络操作等组成;
View:负责处理试图显示,一般由XML布局承担此责任,基本组件和自定义View等充当视图 层的补充元素,Activity、Fragment 充当视图层和控制层的粘合层;
Presenter: 负责处理业务逻辑,由从原来的 MVC 的 C层抽取出来的Presenter 充当控制层;
MVVM
Model:负责处理数据逻辑,一般包括操作数据库,耗时网络操作等组成;
View:负责处理视图显示,一般由XML布局承担此责任,基本组件和自定义View等充当视图层的补充元素, Activity、Fragment 主要负责视图层绑定事件触发,熟练的话也可以直接在xml中绑定触发事件;
ViewModel: 通过数据绑定连接View 和Model 实现视图层和模型层解耦,事件触发后通过ViewModel处理业务逻辑,并且通过数据驱动的方式修改视图内容,而达到间接修改视图的功能;
tip:ViewModel 一定不能持有视图层的引用,同样不能持有Context的引用!不然还是MVP!
Android MVC ,MVP,MVVM 常见架构浅谈
简述:其实任何架构的目的都是:提高开发效率,降低维护成本;
MVC:
Model: 负责处理数据逻辑,一般包括操作数据库,耗时网络操作等组成;
View:负责处理视图; 一般是xml布局;
Control: 负责处理业务逻辑, 一般为 Activity,Fragment 承担这个事情;
MVP
Model: 负责处理数据逻辑,一般包括操作数据库,耗时网络操作等组成;
View:负责处理试图显示,一般由XML布局承担此责任,基本组件和自定义View等充当视图 层的补充元素,Activity、Fragment 充当视图层和控制层的粘合层;
Presenter: 负责处理业务逻辑,由从原来的 MVC 的 C层抽取出来的Presenter 充当控制层;
MVVM
Model:负责处理数据逻辑,一般包括操作数据库,耗时网络操作等组成;
View:负责处理视图显示,一般由XML布局承担此责任,基本组件和自定义View等充当视图层的补充元素, Activity、Fragment 主要负责视图层绑定事件触发,熟练的话也可以直接在xml中绑定触发事件;
ViewModel: 通过数据绑定连接View 和Model 实现视图层和模型层解耦,事件触发后通过ViewModel处理业务逻辑,并且通过数据驱动的方式修改视图内容,而达到间接修改视图的功能;
tip:ViewModel 一定不能持有视图层的引用,同样不能持有Context的引用!不然还是MVP!