mvp设计模式研究及在android中的设计

mvp设计模式研究及在android中的设计

ID:22311327

大小:26.50 KB

页数:6页

时间:2018-10-28

mvp设计模式研究及在android中的设计_第1页
mvp设计模式研究及在android中的设计_第2页
mvp设计模式研究及在android中的设计_第3页
mvp设计模式研究及在android中的设计_第4页
mvp设计模式研究及在android中的设计_第5页
资源描述:

《mvp设计模式研究及在android中的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MVP设计模式研究及在Android中的设计  摘要:MVP即Model-View-Presenter,是一种界面设计模式。使用MVP设计模式可以帮助我们分离业务逻辑,显示逻辑和用户界面,让我们的程序具有良好的可扩展性、可测试性,保证了系统的整洁性、灵活性。  关键词:MVPAndroid设计模式UI控制器模型视图  中图分类号:F270.7文献标识码:A文章编号:1674-098X(2016)12(a)-0097-02  在Android上,业务逻辑和数据存取是紧耦合的,很多缺乏经验的工程师可能会

2、将各种各样的业务逻辑塞进某些组件或者自定义View中,使得这些组件的单个类臃肿不堪,这对程序的更新迭代造成很大的影响,而好的设计模式可以使得各个模块之间相互分离,解决系统的耦合度,提高程序的扩展性。  1MVP概述  MVP是根据MVC延伸出来的一种使用者界面设计模式,是20世纪90年代,IBM旗下的子公司Taligent在用C/C++开发一个叫CommonPoint的图形界面应用系统的时候提出来的。MVP能够有效降低View的复杂性,避免业务逻辑被塞进View中。MVP模式比之MVC模式而言解除了

3、View与Model之间的耦合,同时又带来了良好的可扩展性、可测试性。  MVP模式可以分离显示层和逻辑层,它们之间通过接口进行通信,降低耦合。理想化的MVP模式可以实现同一份逻辑代码搭配不同的显示界面,其中的面向接口编程使得程序更加具有开放性以及适用性,保证了灵活性。  2MVP模式剖析  2.1MVP模式结构  MVP模式中,用户与View交互,View与Presenter通过接口进行通信,Presenter与Model通过接口进行交互,Model功能不光提供数据模型,还有数据的存储与获取业务包

4、含在内,整体设计而言解除了View与Model之间的耦合。  MVP模式可以让UI界面和数据分离,我们的应用至少可以分为3层,这样可以使得我们对这3层进行独立的单元测试。  MVP并不是一个标准化的模式,用户可以根据自己的需求和理解去实现自己的MVP模式设计。  2.2View模块分析  视图(View)用于显示UI界面及与用户交互使用,通常使用Android中的Activity、Fragment或者自定义View作为View层。  在此建议使用Fragment作为View层,因为Fragment自

5、身的特殊性,Fragment自身可作为View来使用,使得程序有更好的扩展性和灵活性。  因为MVP自身的独特性,View和Presenter之间直接存在着关联,所以可以使用接口来规定二者的通信。  而View自身需要和Presenter进行通信,所以一般View持有一个Presenter成员变量。通常View需要实现一个逻辑接口,将View上的操作通过回转交给Presenter实现,最后Presenter调用View逻辑接口将返回结果给View元素。  理想状态下,可以在同一套业务逻辑中完全替换新

6、的View,因为Presenter和View之间都是使用各自的接口对象进行通信。  2.3Presenter模块分析  控制器(Presenter)也称为交互中间人,作为沟通View和Model之间的桥梁,它从Model层检索数据后,返回?oView层,使得View和Model之间没有耦合,也将业务逻辑从View角色上抽离出来。  所以一般情况下,Presenter具体实现类中需要持有View和Model接口对象来进行交互。  2.4Model模块分析  模型(Model)负责数据的获取和存储,主要

7、角色是提供数据的存取功能。Presenter需要通过Model层存储、获取数据、请求远程数据等,Model层是一个封装了数据库DAO层及网络获取数据的数据仓库。  因为Model层自身的特殊性,负责数据的获取,而有些特殊应用需要缓存数据到本地数据库,所以从远程服务器和本地存储(如:数据库或文件)都可能会存取到,可以在Presenter层中控制数据的来源。  3MVP模式应用在Android中的实现  3.1View与Presenter之间的关联及实现  在MVP模式中,View和Presenter之

8、间相互通信,因此可以定义出View和Presenter中的所有通信动作,可以使用接口来限定V和P层的动作,并且V层应该持有P层的对象,可以使用如下代码:  publicinterfaceBaseView{  voidsetPresenter(Tpresenter);  voidshowLoading(Stringvalue);  voiddismissLoading();  booleanisActive();  }  publicinterfaceBasePrese

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。