我理解的MVP框架

原创 2016年09月03日 14:38:51

1、MVP框架说明

MVP的通用解释如下:

  • View 对应于Activity,负责View的绘制以及与用户交互;
  • Model 负责处理数据的加载或者存储,比如从网络或本地数据库获取数据等;
  • Presenter 负责完成View于Model间的交互,主要起到桥梁作用,是一个中间协调人的角色。

从代码实现的角度,简单的来说MVP的关系,V调用P的方法来实现某个用户具体行为的操作(比方点击某个按钮代表的点赞),并提供接口给P来更新界面;P通过M获取或者提交数据做相关的业务,M可以提供同步或者异步的方法来完成。


调用层次关系

     V                         ->  对P的公共方法调用

     对V的接口调用 <-       P                               ->        同步数据获取接口

                                        可以 异步返回结果    <- M   


MVP的作用是显而易见的:代码结构清晰、易维护、易扩展,大大减少了Model与View层之间的耦合度。一方面可以使得View层和Model层单独开发与测试,互不依赖。另一方面Model层可以封装复用,可以极大的减少代码量


2、MVP框架改进

简单通过MVP框架去实现功能后,会发现:

  • V可能给P封装了接口太多,P需要关注很多更新界面的行为
  • 另外一个V通常需要对应一个P来做相应的行为,类的数量无形增多了。

如何改进其实是见仁见智了,对框架的使用,第一步是僵化,也就是照着框架给的方法去实现,第二步则是优化,能够提炼出适合自己或者项目的通用架构来,也就是收获满满了。


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android----MVP模式的理解

本篇文章基于MVP模式对mvp设计模式进行了实践,作者对mvp进行了很详细的介绍,推荐大家看看。一、MVP的理解在Android开发中,Activity和Fragment承载了太多的开发任务,它们不仅...
  • qq_23589445
  • qq_23589445
  • 2016年02月13日 15:12
  • 675

如何一步一步实现Android的MVP框架

内容大纲: Android 开发框架的选择如何一步步搭建分层框架使用 RxJava 来解决主线程发出网络请求的问题结语 一、Android开发框架的选择 由于原生 Android 开...
  • hanchendong
  • hanchendong
  • 2017年03月13日 15:58
  • 2658

使用MVP打造项目框架

前言在目前的项目框架中大多是用Viewpager+Fragment实现,而通常情况下一个Fragment中包含以下功能,但是如果将这些功能全部集成在一个fragment中会造成,逻辑不清楚,而且我们编...
  • qq_22706515
  • qq_22706515
  • 2016年07月04日 11:06
  • 5483

Android之通用MVP模式框架

Android之通用MVP模式框架在最近的学习中,我写代码都一直在使用通用的MVP模式框架,在使用的过程中,最让我感触非常深的是,整个代码的层次感非常清晰,耦合度非常低,扩展非常方便,以及能很好的处理...
  • qq_27630169
  • qq_27630169
  • 2016年08月27日 15:42
  • 3910

Android框架模式(1)-MVP入门

转载请注明本文出自远古大钟的博客(http://blog.csdn.net/duo2005duo),谢谢支持!简介MVP是MVC的衍生版本,跟MVC类似,但是在Android中更适用,也分三层: ...
  • duo2005duo
  • duo2005duo
  • 2016年01月27日 15:36
  • 25516

对MVC、MVP、MVVM的理解

最近看了一堆js框架的文档,有点乱,想分门别类整理一下,但是首先需要搞清楚这些框架里面经常谈论的MV*之类的概念。MVC的概念很早就知道,现在发现还有MVP、MVVM,那么这些设计模式有什么区别呢?谈...
  • napolunyishi
  • napolunyishi
  • 2014年04月01日 17:50
  • 23019

迄今为止最通俗易懂的MVP架构讲解

从MVC到MVP再到MVVP,相信大家就已经听说过这些架构了。但你真正应用到哪个阶段了呢?是不是还苦于网上对MVP晦涩的讲解?今天,Coder哥就用最通俗易懂的方式告诉你,MVP怎么用!先上一张MVP...
  • limonzet
  • limonzet
  • 2016年11月24日 23:52
  • 2631

Android 项目框架 使用MVP开发

前言在Android中使用 MVP 来开发已经出来很久了,刚好Google又出了一系列的architecture samples,在此就整理一下对于MVP的认知和实践总结,这篇文章会随着使用经验的丰富...
  • u014099894
  • u014099894
  • 2016年05月14日 00:01
  • 7342

细谈MVP架构模式

什么是MVP架构?: MVP就是Model-View-Presenter,MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方: Controller/Presenter负责逻辑的处理,M...
  • hpc19950723
  • hpc19950723
  • 2017年02月08日 21:16
  • 642

浅谈mvc、mvp、mvvm框架模式

背景:随着软件工业的发展,复杂的软件没有清晰合理的架构,很难开发和维护,于是出现了MVC框架模式。 一、MVC 简介:MVC,是模型(model)-视图(view)-控制器(controlle...
  • spring5530
  • spring5530
  • 2017年03月25日 22:39
  • 410
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我理解的MVP框架
举报原因:
原因补充:

(最多只允许输入30个字)