MVP模式在Alldroid中的应用研究
2017-02-06曾露
曾露


摘要:传统的MVC模式在Android的应用开发中存在诸多不足,主要表现在Android应用开发的关键类Activity会充当Controller和View的合体,既要负责业务逻辑,又要负责显示,造成Activity的职责过多,耦合度高。MVP模式是MVC模式演进而来,引入了Presenter彻底分离Model和View层,在解决Activity臃肿的问题同时,还有助于后期的测试与维护。本文分析MVC对于Android开发的不足,并探索MVP模式在Android开发中的可行性,以及优劣势,最后实现MVP模式在Android开发中的应用。
关键词:Android;MVP;模式
引言
GUI(Graphical User Interface)应用程序出现之后,应用程序也变得更加复杂,为了管理这种复杂性,基于职责分离的思想而孕育而出了MVC模式。在Android开发过程中,同样会采用MVC模式的思想,将访问和数据的表现分离。一般的处理是将进行界面描述的XML文件作为视图层(View),使用的时候可以非常方便的引入,同时便于后期界面的修改。将Activity等类作为控制层(Controller),来控制View层和Model层的通信,以此来达到分离视图显示和业务逻辑层,其中与业务相关的数据结构类作为模型层(Model),用来处理数据库的操作、网络请求等操作。但其实Activity并不是一个标准的MVC模式中的Controller,它的首要职责是加载应用的布局和初始界面,以及接受并处理来自用户的操作请求,并做出响应。随着界面及其逻辑的复杂度不断提升,Activity类的职责不断增加,以致变得庞大臃肿。不仅如此,在Android中,允许View和其它线程共存于Activity内,造成的问题是Activity中同时存在业务逻辑和UI逻辑,成为包罗万象的“上帝类”,这大大增加了应用后期的测试和维护成本。为了使Android应用开发简单,各层次职责清晰,增加可读性和复用性,减少后期的测试、维护成本,本文在Android开发应用中引人MVP模式。……
