心血来潮,复习一波架构
mvc定义
m层:model 业务逻辑处理
v层:view 处理数据显示的部分
c层:control activity处理用户交互问题
特点:耦合性低,可扩展性好(这两相辅相成),模块职责划分清晰

类似activity中控制model层去下载东西,最后通过接口回调给activity,activity再去通知view层展示下载完成的样式。


mvp定义
因为在Android中view层大部分是layout下的xml文件,能力非常有限,所以activity承担了大部分控制view的功能,导致activity会非常的冗余,所以引出mvp架构
m层:model 还是业务逻辑和实体模型
v层:activity 对应activity,负责view的绘制和用户交互(谷歌推荐的todo-mvp是通过加一个fragment,将fragment当成view,更加直观和理解)
p层:presenter 负责view和model的交互

特点:耦合性更加低,因为mvc中,view层是可以和model层进行联系的,而在mvp中,view和model是无法直接联系的,为什么说这个很好呢,因为在Android中,view的操作全部需要在UI线程(主线程),如果数据操作和视图操作全部分离的话,通过桥梁presenter进行通信,更加符合Android实际开发。

为啥不说mvvm呢?因为那个貌似是前端用的比较多。而且一般看,貌似跟dragger2联系比较多,那个框架我不是很熟,等待我学习后,再补充吧。
话说,七牛云的插件有点问题,我每次发图,得先保存七牛云再链接到blog,有点复杂。

标签: none

添加新评论