MVP介绍

作者: 龙_君 | 来源:发表于2019-07-01 17:06 被阅读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的复用会产生接口冗余。

相关文章

  • MVP介绍

    这里介绍MVP架构,我看了几篇文章,MVP解释的不清晰,上一篇中大佬的文章解析的比较可信 浅谈 MVC、MVP 和...

  • MVP介绍

    什么是MVP? MVP代表Model,View和Presenter。 View层负责处理用户事件和视图部分的展示。...

  • MVP介绍

    1.前言 近些年来,Android架构模式有很多,我们比较熟知的有MVC,MVP以及MVVM,目前Android...

  • MVP框架学习

    一、MVP介绍 二、为什么使用MVP模式 三、MVP与MVC的异同 四、使用MVP实现Android的登录的Dem...

  • MVP篇三,MVP模式在Android上的应用

    1、MVP模式的基本介绍 参见: MVP模式1,MVP模式的原理 http://www.jianshu.com/p...

  • Android框架模式——MVP

    1. MVP介绍 MVP全名是Model-View-Presenter,MVP 是从经典的模式MVC演变而来的。 ...

  • Android框架模式——MVP

    1. MVP介绍 MVP全名是Model-View-Presenter,MVP 是从经典的模式MVC演变而来的。 ...

  • 如何更高效的使用MVP以及官方MVP架构解析

    Android mvp 架构的自述中简单的介绍了mvp,以及怎么写mvp。我自己也将mvp运用到了项目中,其实mv...

  • 如何更高效的使用MVP以及官方MVP架构解析

    Android mvp 架构的自述中我简单的介绍了mvp,以及怎么写mvp。我自己也将mvp运用到了项目中,其实m...

  • flutter-mvp架构

    flutter_mvp 项目介绍 该项目为flutter的mvp的基础架构,主要封装了mvp基础类,使用dio进行...

网友评论

    本文标题:MVP介绍

    本文链接:https://www.haomeiwen.com/subject/bmhncctx.html