前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我理解的MVP框架

我理解的MVP框架

作者头像
呱牛笔记
发布2023-05-02 15:02:12
1350
发布2023-05-02 15:02:12
举报
文章被收录于专栏:呱牛笔记呱牛笔记

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

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

白俊遥博客
白俊遥博客
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档