关闭

我理解的MVP框架

420人阅读 评论(0) 收藏 举报
分类:

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

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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46190次
    • 积分:847
    • 等级:
    • 排名:千里之外
    • 原创:38篇
    • 转载:1篇
    • 译文:0篇
    • 评论:41条
    最新评论