我理解的MVP框架

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来做相应的行为,类的数量无形增多了。

如何改进其实是见仁见智了,对框架的使用,第一步是僵化,也就是照着框架给的方法去实现,第二步则是优化,能够提炼出适合自己或者项目的通用架构来,也就是收获满满了。


白俊遥博客

本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com

请先登录后发表评论
  • 最新评论
  • 总共0条评论