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

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


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/twoconk/article/details/52348607
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

我理解的MVP框架

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭