MVP设计模式的一次深入探索和优化

MVP设计模式

==曾经工作闲的的时候看过mvp,当时迷迷糊糊的,今天就重新来细致的捋一下。==

MVP:Model View Presenter

  • Model:处理业务逻辑,获得数据
  • View:视图,负责加载数据
  • Presenter:中间者,(绑定Model和View)

View 持有Presenter,因为要在View(也即Activity)中new Presenter对象

Presenter持有Model和View 的接口类型,

看下图,比较MVC和MVP。

image

如图片中所说的:

  • 在MVP中,Model并不会和View直接通信,Presenter将充当中间人的角色。
  • 在MVC中,当Model被Controller更新后,会直接通知View并更新显示。

项目中有两个Module,mvp和mvpyouhua,mvp这个程序是对mvp模式的一个简单的使用,但
这里面涉及到一个内存泄漏的问题。**看下面
**

View(Activity) —>> presenter —>> Model

Model访问网络获得了数据,执行onComplete方法,如果此时view被销毁了,例如:Activity被finish了,此时model访问view的引用,但view可能已经被回收了,会造成内存泄漏的问题。

为解决上个问题,就有了mvpyouhua这个程序,可以避免内存泄漏,同时通过使用BasePresenter,达到一个封装的目的。

不懂想要学习的可以参考我的这篇文章。

  1. 欢迎关注我的个人技术公众号,快速查看我的最新文章。
  2. 欢迎访问:201216323.tech 查看我的博客。
  3. 源程序地址:点我点我

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值