http://www.paper.edu.cn
- 1 -
一种适用于 Android 平台的 MVP 架构
邓凯,卞佳丽
**
作者简介:邓凯(1989-),男,硕士研究生,主要研究方向:软件工程
通信联系人:卞佳丽(1965-),女,教授,主要研究方向:嵌入式系统与网络通信. E-mail: jlbian@bupt.edu.cn
(北京邮电大学嵌入式系统与网络通信实验室,北京 100876)
5
摘要:本文分析了 Android 应用传统开发方式所带来的功能不利于扩展、项目难于维护的弊
端,并借助于 MVP 思想,设计实现了一种适用于开发 Android 复杂软件的 MVP 架构。该
MVP 架构在传统 MVP 架构基础之上,针对 Android 平台特点做出了一些改进。凭借着可扩
展,易维护,易管理等特点,该 MVP 框架能有效解决随着 Android 应用越来越复杂所带来
的开发困难、维护繁琐等问题,提高了开发复杂 Android 应用的效率,降低了开发成本。 10
关键词:软件工程;Android;MVP;软件架构
中图分类号:TP311
A MVP architecture for Android platform
DENG Kai, BIAN Jiali 15
(The embedded system and network communication laboratory,Beijing University of Posts and
Telecommunications,Beijing 100876)
Abstract: This paper analyzes the disadvantages of the traditional development mode of Android
application,which is that the function is difficult to expand and the project is hard to maintain.With
the help of MVP thought,a MVP framework is designed and implemented which is suitable for 20
complex Android software .This MVP architecture have some improvements based on the
traditional MVP architecture.This MVP architecture makes Android applications easy to expand,
easy to maintain and easy to manage.As Android software is becoming more and more complex,
the software is becoming difficult to develop, and the maintenance is complicated. Through This
MVP architecture,these difficulties can be easily solved. This MVP architecture can improve the 25
efficiency of the development of complex Android software, and reduce the cost of development.
Key words: Software Engineering; Android; MVP;Software Architecture
0 引言
自 2011 年移动互联网热潮爆发以来,Android 平台的发展日新月异,出现了各种功能30
强大性能优秀的移动 APP
[1]
。人们对于移动 APP 的要求早已不再是能用就满足的了,而且
随着人们的需求增长,对移动应用提出了各种各样的功能要求和性能要求。
越来越发复杂的移动 APP 对于 Android 开发者来说提出了两个挑战:1 移动 APP 功能
的增多需要 Android 开发者能快速进行功能扩展。2 移动 APP 复杂度的提升需要 Android 开
发者维护其稳定性。综合上述两个问题,本文在参考对比了 PC 端软件的 MVP 架构后,提35
出了一种适用于 Android 复杂软件开发的 MVP 架构。MVP 软件架构是在 MVC 基础之上提
出的,也是逻辑分层的一种软件架构模式,它解决了 MVC 中视图依赖于模型导致的业务逻
辑无法重用的问题,使得业务逻辑易于扩展,而且也易于业务逻辑脱离视图进行单元测试,
这对于高效开发复杂移动软件是大有裨益的。本文将基于 Android 平台特点,针对复杂软件
的功能扩展困难以及对维护困难等问题,提出一个可行的 MVP 架构模式,用于提高复杂移40
动 APP 的开发效率和可维护性。