MVC-MVP-MVVM

文章目录

MVC

M(model)V(View)C(Controller)
Model:处理数据,业务逻辑
View:处理界面的显示结果(xml布局)
Controller:控制model层和View层的通信
在这里插入图片描述

MVP

M(Model)V(View)P(Presenter)
Presenter:使用接口的方式进行交互,较低耦合,使View与Model交互的纽带,接收model层的数据,进行过相应处理之后交给View层。
View层:纯Activity布局的绑定
Model:业务逻辑的实现
在这里插入图片描述

MVVM

VM(ViewModel):视图模型,暴露公共属性的和命令的视图的抽象,在MVVM中既没有Controller也没有Presenter,而是通过绑定器实现的View和Model之间的通信

改进

MVC MVP MVVM
Controller Presenter ViewModel
直接使用View 不直接使用View 使用View

优点:
1.低耦合(分离View和Model)
2.可重用性:可以让很多视图使用C/P/VM
3.独立开发:逻辑和界面独立开发
4.单元测试:因为分离了视图和Model,所以可以进行针对性测试

发布了67 篇原创文章 · 获赞 22 · 访问量 5815

猜你喜欢

转载自blog.csdn.net/qq_40384370/article/details/103367460