Android架构设计模式

架构设计模式

MVC

Model 模型层,负责处理数据加载或者存储
View 视图层,负责界面数据展示,与用户进行交互
Controller 控制器层,负责逻辑业务处理

优点

耦合性低
重用性高
生命周期成本低
部署快
可维护性高
有利软件工程化管理

缺点

无明确的定义
不适合小,中型等应用程序
增加系统结构和实现的复杂性
视图与控制器间连接紧密
视图对模型数据的访问效率低
一般高级的界面工具或构造器不支持

总结

View可直接访问Model。View中包含Model信息和一些业务逻辑。因此更改View困难
Model不依赖View,但View依赖Model
我们更关注Model的不变,同时有多个对Model的不同显示

MVP

​ View接受用户交互请求,将请求转交给Presenter;Presenter操作Model进行数据更新;数据更新后,Model通知Presenter数据变化;Presenter将更新后的数据交给View;View更新数据

M(Model) 数据相关层
V(View) 视图层,如Activity上的布局
P(Presenter) 纽带层,用来连接Model与View

优点

各部分相互独立,实际开发中View和Presenter可分开开发。V的变动对P影响较小,对M无影响。适合大型APP开发

所有逻辑交互均发生在Presenter内部,且在不改变Presenter逻辑的前提下,一个Presenter可对应多个View

便于测试,可以脱离用户接口来测试逻辑(单元测试)

MVVM

待更新

你可能感兴趣的:(Android,Android基础)