MVP 优缺点!简单易懂

MVP是在MVC的基础上发展过来的实现了M层和V层完全分离进一步解耦

Model:数据来源 请求网络数据和数据库

View:对应xml布局文件和动态布局部分,对应Activity

Presenter:逻辑控制部分 通过接口连接M层和V层   白话相当于中介

优点:

V层对应Activity,只负责UI的展示和P层直接通信,和M数据层没有任何交互。

V层没有和M层有交互,可以抽成单独的组件,方便复用。

代码结构清晰,P逻辑层可以用于多个视图,而不需要改变P层的逻辑。

V层和M层完全分离,方便协同工作,只需要专注做视图或者逻辑控制部分,不用关系对方的逻辑。比如负责逻辑控制部分不用等设计出图就可以直接写代码并进行单元测试

复用率高

缺点:M层和V层都需要和P层进行通许,会导致P层代码很复杂,而且都是通过接口通讯,如果一个P层用于多个Activity,所有Activity都要实现全部都接口,无论能不能用得到。修改P层接口,往往会涉及到很多个界面,很麻烦。

P层和V层通过接口通讯,会持有View的引用,容易造成内存泄露。

随着业务增多,P层即使只对应一个视图,接口也会越来越多。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值