浅谈安卓框架mvp

最近这几天面试遇到这个问题,所以认真研究了两天,在这里说下自己见解,若有问题,欢迎大家指出讨论。

mvp框架是mvc框架的进阶,

在mvc框架中:

m,也就是model,代表数据获取和操作层,譬如读取数据库,读取网络都是在这一层实现。

v,是View,也就是用户可视层,在这里指的是安卓中的xml布局文件。

c,控制器Controller,在mvc框架中,它代表的是activity,响应用户数据,将请求发给m层,从m层获取数 据之后,更新v层,是m跟v沟通的媒介

但是mvc有缺点,因为在mvc中,v只是单纯代表xml,而c却有着大量用户响应操作,比如获取请求还有从m层得到数据再到去更新v层,都在c中实现,而若是代码太多,会让的c层非常臃肿,以后不好修改。

因此在这个基础之上,为了将代码进一步分离,又提出mvp框架

m,是model,同样是数据操作层

v,这里注意,这里的v不代表xml布局文件了,而是代表activity

p,中介层,从v层获取响应事件,然后从m层得到数据操作结果,回调给v层,是m和v的媒介

mvp框架图如同下图所示,将数据操作层和展示层彻底分离,presenter只作为一个中介,

这里写图片描述

我写了一个简单的mvp工程,欢迎大家指教

这个是m层,数据操作和获取,我在这里模拟去请求网络

这里写图片描述

这个是p层,用来做v层和m层之间的连接

这里写图片描述

这个是v层,用来展示界面

这里写图片描述

若有问题,请大家一定要指出,谢谢!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值