什么是mvp
M:model层,提供数据,并暴露接口
P:连接M和V,从M层回调出数据,从V层拿到视图对象。
V:负责视图
单一职责,完全解耦思想。
mvp其实不算什么新框架了,我将它视为一种设计模式,目前它的作用就是设计框架架构。
为什么用mvp
之前android的框架结构基本上都是基于mvc的,即M代表bean,v代表activity、fragmentxml的视图,p代表逻辑层,负责v和m的全部逻辑,大量的代码臃肿在一起对后期维护成本很大很大,这些感悟等你们接收负责一个一年多沉淀的代码就会想起一首歌,多么痛的领悟。
怎么用呢
mvp在谷歌示例,这些我就不列举了,自己百度一下都是一些优化过的复制品,我再写也没必要了,哈哈~~~
m层负责数据的提供
v负责view视图的一些操作,比如activity中的refresh,loading,toast等,具体要根据你的view需求来定,后面我会给出我的一些,模板不能写太多,自己扩展即可。
p和m关联:拿到m层的数据
p和v关联:拿到v实例,根据逻辑来构建v的视图操作流程。
我的mvp框架构想
在我眼中,谷歌品牌,必出精品,它们的框架结构我很喜欢,v和p层我用MvpManager来统一管理。
上代码:
网友评论