1、MVP框架说明
MVP的通用解释如下:
View 对应于Activity,负责View的绘制以及与用户交互;
Model 负责处理数据的加载或者存储,比如从网络或本地数据库获取数据等;
Presenter 负责完成View于Model间的交互,主要起到桥梁作用,是一个中间协调人的角色。
从代码实现的角度,简单的来说MVP的关系,V调用P的方法来实现某个用户具体行为的操作(比方点击某个按钮代表的点赞),并提供接口给P来更新界面;P通过M获取或者提交数据做相关的业务,M可以提供同步或者异步的方法来完成。
调用层次关系
V -> 对P的公共方法调用
对V的接口调用 <- P -> 同步数据获取接口
可以 异步返回结果 <- M
MVP的作用是显而易见的:代码结构清晰、易维护、易扩展,大大减少了Model与View层之间的耦合度。一方面可以使得View层和Model层单独开发与测试,互不依赖。另一方面Model层可以封装复用,可以极大的减少代码量。
2、MVP框架改进
简单通过MVP框架去实现功能后,会发现:
V可能给P封装了接口太多,P需要关注很多更新界面的行为
另外一个V通常需要对应一个P来做相应的行为,类的数量无形增多了。
如何改进其实是见仁见智了,对框架的使用,第一步是僵化,也就是照着框架给的方法去实现,第二步则是优化,能够提炼出适合自己或者项目的通用架构来,也就是收获满满了。
-------------------广告线---------------
项目、合作,欢迎勾搭,邮箱:promall@qq.com
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com