Android相关

MVP介绍

2019-07-01  本文已影响2人  龙_君

1.前言

   近些年来,Android架构模式有很多,我们比较熟知的有MVC,MVP以及MVVM,目前Android市场中使用最多的应该是MVP架构,虽然MVVM结合DataBing看似更加方便,但在一般公司中使用的还是比较少。其实模式这种东西就像我们个人习惯,觉得代码怎么放置会更方便,慢慢的就形成了一种标准化的模式,好的代码模式更容易后期维护与团队分工合作,但是其实说句心里话,刚接触这些模式的时候,感觉代码的类变多了,但是从逻辑上着实简洁了很多。建议还是稳中求实,不要为了架构而架构。

2.MVP的工作原理

以上是MVP的工作原理图。其中大家注意的Presenter操作View和Mode都是通过接口来实现直接的调用。

3.MVP概念:

MVP(Model-View-Presenter) 是总所周知MVC模式的一个演变,主要目的都是划分模块职责,降低模块耦合,易测试,提高代码复用。

4.层级责任

Model:负责数据的检索,持久化等操作。

View: 负责UI的绘制和用户的交互。

Presenter: 作为Model和View的中间协调部分,负责两者之间的业务逻辑处理。

5.与MVC模式的区别

MVC模式允许View层和Model层直接通讯。

当某个View的功能很复杂的时候,View和Model的耦合度可能会很高。

MVP模式就没有这个问题,View会抽象出来一系列操作UI的接口。

Presenter拿到的都是其他两个层级的接口来做业务逻辑的处理,这样不仅可以使View和Model之间的耦合度降低,还可以更易得进行单元测试。

6.MVP的优缺点

优点:降低耦合,层级职责更明显,易于单元测试。

缺点:造成类数量爆炸,代码复杂度和学习成本高,在某些场景下presenter的复用会产生接口冗余。

上一篇 下一篇

猜你喜欢

热点阅读