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的复用会产生接口冗余。
网友评论