Android开发App架构MVP模式

原创 2015年12月01日 19:07:33
        说到MVP都会拿来与MVC进行比较,从上图中可以看到MVC的View和Model存在耦合,MVP就能很好的实现View和Model的解耦,可以说MVP其实就是MVC的一个进化版本。下面来看下对比图


在网上找了两张图,可以更好理解什么是MVP



       原创文章,转载注明出处:http://blog.csdn.net/deng0zhaotai/article/details/49950555

       在开发APP时Activity或Fragment一般都会用来加载显示View,同时也会处理部分逻辑功能代码,这就导致Activity或Fragment的代码量很大,维护起来很麻烦,但对于小型的APP不建议使用这样的开发模式,因为使用MVP会增加很多接口类,提高了代码复杂度,所以一般比较大型的App才会使用模式。

使用MVP的好处:

1.降低程序的耦合性

2.提高代码复用性

3.便于代码的维护

4.便于写测试用例验证

5.模块划分清晰

缺点:

1.类的数量增加

2.代码复杂,学习成本增加

3.presenter个别接口冗余

这就要看开发者如何去权衡

下面使用一个例子说明MVP


像上面这么简单的例子直接在Activity中都可以完成根本不需要什么MVP、MVC模式,但在复杂的程序中是很有必要的,如果是两个人写一个App,写Model的人不需要关心View,并且使用MVP可以很方便的写测试用例,这个例子只是简单说明下MVP如何应用。例子中结构看起来很清晰,但类会较多,这里就不贴代码了,最后感兴趣的可以下载去看。

程序界面截图


程序源代码下载:http://pan.baidu.com/s/1i3rXUyp

参考文档:

1.http://www.infragistics.com/community/blogs/todd_snyder/archive/2007/10/17/mvc-or-mvp-pattern-whats-the-difference.aspx

2.http://hannesdorfmann.com/android/mosby-playbook/

3.http://www.zhihu.com/question/35185744

4.http://segmentfault.com/a/1190000003871577   这个理解不错

5.http://segmentfault.com/a/1190000003927200

Android中activity保存状态和数据到底该在哪个方法中进行

今天接到一个电面,途中面试官问到一个问题,如果一个activity在后台的时候,因为内存不足可能被杀死,在这之前如果想保存其中的状态数据,比如说客户填的一些信息之类的,该在哪个方法中进行。 ...

关于fragmentPagerAdapter的冲突问题

fragmentPagerAdapter是继承了PagerAdapter,这个类的作用就是用于滑动跳转Fragment,但是这个类是V4包里独有的, android app包里并没有这个类,那么问题...
  • ghdmao
  • ghdmao
  • 2016年06月16日 10:04
  • 975

Android App的三种架构模式MVC,MVP和MVVM

Android App的三种架构模式MVC,MVP和MVVM

MVP模式在Android开发中的应用

  • 2016年08月12日 14:52
  • 13.53MB
  • 下载

MVP模式在Android开发中的最佳实践

  • 2016年02月21日 13:44
  • 17.51MB
  • 下载

Android开发之MVP架构详解

Android开发之MVP架构详解 一、MVP和MVC的一点感悟   MVP模式估计每个人都了解一点,是从MVC演变而来,随着项目的逐渐变大考虑到产品的维护以及扩展性,MVC的短处逐渐暴露出来,从...

在Android开发中使用MVP模式

  • 2016年09月09日 22:39
  • 19.91MB
  • 下载

Android开发中的MVP架构详解

最近越来越多的人开始谈论架构。我周围的同事和工程师也是如此。尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建。 这篇文章是我通过研究和学习各种文章以及专题讨论所总结出...

Android开发中逐步取代MVC的MVP架构知多少?

MVP

Android开发中的MVP架构

原文链接: MVP Architecture in Android Development 原文作者: kenjuwagatsuma 译文出自: 小鄧子的简书 译者: 小...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android开发App架构MVP模式
举报原因:
原因补充:

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