美文网首页
MVP理解思路

MVP理解思路

作者: i小灰 | 来源:发表于2020-06-16 09:58 被阅读0次

mvp现在已经是特别常见的app架构了,本篇的宗旨在于解释一下mvp的思想

你去饭店吃过饭吧?

没去过的先去饭店点一份鱼香肉丝盖饭(不要点外卖),吃完了再回来看帖子

我们去饭店点餐吃饭的流程是怎么样的?

点餐环节如下图所示:

点餐环节

当厨师收到点餐的要求后,一顿操作猛如虎,然后鱼香肉丝做出来了

我是鱼香肉丝

接下来厨师要把鱼香肉丝给服务员,服务员要把鱼香肉丝给顾客

送餐环节

合在一起就成了下面的样子

点餐+送餐

为什么饭店的流程都是这样设计的?你直接跟厨师说多好,省了一个传话的,因为要让每个人都专注自己的事情,提高效率,同时防止出错。

有没有这样的饭店,有

这就是生活中的mvp

那么代码中的mvp是怎么样的呢?

代码中的mvp架构

解释一下:

view层跟presenter层说我要请求数据

presenter层会直接调用module层的方法请求数据

module层真正去请求数据,这个数据有可能是从服务器获取的,有可能是从本地数据库获取的,有可能是从sd卡获取的,其他对象不必关注数据从究竟是从哪儿来的。

module层获取数据成功/失败后,通过接口将结果回调给presenter层

presenter层再通过view层的接口,回调view层的方法,让view层更新界面

这样,一个mvp架构的网络请求就完成了,像极了你去吃饭的整个流程。

代码中为什么要使用mvp架构呢?

1、分层而制,各司其职,方便管理

2、减少了activity中的代码,activity阅读起来更简单,更便捷

3、每个类中的代码量都会减少,方便阅读管理

4、方便测试,这个以你的水平就不要试图去理解了()

结合我的经典解释,再看看其他人的代码,自己再敲两个demo,相信你最多看上三五遍就可以理解mvp了

相关文章

网友评论

      本文标题:MVP理解思路

      本文链接:https://www.haomeiwen.com/subject/xtehactx.html