架构设计模式
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
待更新