android mvp模式缺点,Android MVP开发模式的结构及优缺点详解

Android MVP开发模式的结构及优缺点详解

2018-12-13

在android开发中,有各种各样的开发模式,但遇到大型项目开发时,熟悉android的朋友都会推荐MVP开发模式。那MVP开发模式到底是什么,有什么优点呢?

1、android MVP开发模式的概念

Android的MVP是由MVC优化衍生出来的一种模式,MVP将MVC中的Controller层进行了优化而生成了Presenter。Presenter层和MVC的Controller一样,负责核心逻辑,但不一样的是Presenter通过接口协议进行数据传递,并阻断了View和Model的直接联系,从而使View和Model更加专注于自身业务逻辑。

2、android MVP开发模式的结构

67482231_1.png

View

View通常来说就是由Activity、Fragment实现的,View会包含一个或多个Presenter的引用来满足视图的业务逻辑。View和Presenter的交互是双向的,即View层可以调用Presenter的逻辑方法,Presenter也可以控制View的显示。

Presenter

Presenter作为Model和View的桥梁,负责从Model拿到数据进行处理并返回给View。但Presenter和其他两层的沟通是通过接口协议进行的,所以每个Presenter中通常会包涵一个或多个接口协议。

Model

和MVC一样,作为数据仓库只负责对APP数据进行处理。

在Android开发MVP模式实践中的示例,又将APP分为了以下四层:

67482231_2.png

Entities:APP中的业务类。

Use Cases:负责从将Entities中的数据进行处理和包装。

Presenters:从Use Cases获取处理好的数据,然后根据需求逻辑为UI提供合适的数据。

UI:从Presenters获取处理好的最终数据,和用户进行直接交互。

这四层设计的原则是代码调用只能从外圆向内圆扩展,内圆不能干预也不需关心外圆的功能逻辑,符合MVP的思想,Use Cases和Presenters将Entities和UI间隔分离,从而使Entities和UI只需关心自身逻辑,数据处理完全交给其他两层。

这里大家可能会有一些疑惑,为什么会有Use Cases?Presenter层自身的构架,因为仅仅套用MVP模式,虽然在一定程度上降低View的耦合度,但因为Presenter既要处理数据,又要结合需求控制UI交互,所以很可能出现Presenter逻辑的冗余。而在Presenter和Model之间包装了Use Cases,将数据逻辑处理交给UseCases,就可以保证Presenter更专心于UI交互。

3、android MVP开发模式的优点

1)View和Model之间的耦合度降低,使其更关注自身业务逻辑,结构清晰,维护方便;

2)便于单元测试;

3) 代码复用率提高;

4)代码框架更适用于快速迭代开发;

4、android MVP开发模式的缺点

任何开发模式都是有利也有弊的,毕竟世间完美的事物还是少见的。上面提到了MVP模式的有点,那就不得不说其还存在的缺点,或者说不足更准确吧。

MVP模式的不足,主要表现在每个view都有presenter ,类相对比较多。

以上就是android MVP开发模式的结构及优缺点,综合优缺点,优点还是远远大于缺点的,在android大型项目中,MVP开发模式还是很值得使用的。

相关文章:《Android内核开发之repo的常用命令大全》

文章来源:csdn

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值