MVP的概述

MVPModel View Presenter



View:对应于布局文件

Model:业务逻辑和实体模型

Controllor:对应于Activity

 

将架构改为MVP以后,Presenter的出现,将Activity视为View层,Presenter负责完成View层与Model层的交互。现在是这样的:

View对应Activity,负责View的绘制及与用户的交互

Model依然是业务逻辑和实体模型

Presenter负责完成ViewModel间的交互

MVCMVP的一个转变,减少了Activity的职责,简化了Activity中的代码,将复杂的逻辑代码提取到Presenter中进行处理,与之对应的好处就是,耦合度更低,更方便的进行测试。

 

MVP模式的核心思想

MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model。

这就是MVP模式,现在这样的话,Activity的工作的简单了,只用来响应生命周期,其他工作都丢到Presenter中去完成。从上图可以看出,Presenter是Model和View之间的桥梁,为了让结构变得更加简单,View并不能直接对Model进行操作,这也是MVP与MVC最大的不同之处。

MVP模式的作用

MVP的好处

分离了视图逻辑和业务逻辑,降低了耦合

Activity只处理生命周期的任务,代码变得更加简洁

视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性

Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单元测试

把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM

 

其中最重要的有三点:

Activity 代码变得更加简洁

方便进行单元测试

避免 Activity 的内存泄露

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值