observer设计模式在手机导航软件中的应用

observer设计模式在手机导航软件中的应用

ID:27679260

大小:58.09 KB

页数:13页

时间:2018-12-05

observer设计模式在手机导航软件中的应用_第1页
observer设计模式在手机导航软件中的应用_第2页
observer设计模式在手机导航软件中的应用_第3页
observer设计模式在手机导航软件中的应用_第4页
observer设计模式在手机导航软件中的应用_第5页
资源描述:

《observer设计模式在手机导航软件中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Observer设计模式在手机导航软件中的应用摘要:该文探讨了观察者(Observer)设计模式的概念及在手机导航软件中的应用。通过实例证明了该模式下导航软件的性能得到了进一步的提升,提供了实现手机导航的Java程序代码,并总结该模式在软件设计过程中的优点。关键词:Observer设计模式;软件开发;手机导航分类号:TP311文献标识码:A文章编号:1009-3044(2014)19-4579-04ObserverDesignPatternUsedinNavigationSoftwareMENG

2、Ting-ting,HELi-li(InformationCollegeofZhejiangUniversity,Hangzhou310018,China)Abstract:Thispaperdiscussestheobserver(观察者)designpatternconceptandthepatterninthemobilephonenavigationsoftware.Examplesshowthattheperformanceofthemodelsystemhasbeenfurtheri

3、mproved,thispaperprovidesamobilephonenavigationJavacode,andsummarizestheadvantagesofthemodelinthesoftwaredesignprocess.development;mobilenavigation目前,随着经济社会的发展,人们生活水平的提高,商务谈判、旅游、异地探亲等变得更加频繁,手机导航软件在其中发挥着举足轻重的作用。手机导航软件,在把用户从出发地带到目的地的过程中,通过GPS实时获取用户在地图中

4、所在的位置,以及目的地在地图中的位置。在手机导航软件的开发中,观察者设计模式能够使系统易于维护、扩展和复用。该文主要讨论的是该模式在手机导航软件中的应用,并总结该模式在软件设计过程中的优点。1观察者设计模式概述启动导航,进行导航,结束导航这些过程中往往要求在位置信息发生变化的时候,用户交互端能够准确快捷地做出相应的改变以便于用户做出选择。对于实现这一点的设计方案有很多,但是用于复杂的导航软件中,例如景区内外的多个导航相结合的系统,我们就必须采用易于复用,低耦合度的设计模式。减少对象之间的耦合有利

5、于软件的复用,但同时设计者需要使这些低耦合度的对象之间能够保持行动一致的协调性,保证对象间高度的协作。观察者设计模式是行为模式的典型代表,它正符合上述的要求。2观察者设计模式剖析观察者设计模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式(Observer)完美地将观察者和被观察的对象分离开。例如Android用户界面可以作为一个观察者,GPS位置信息是被观察者,用户界面观察位置信息的变

6、化,发现数据变化后,就相应地调整导航信息并显示在用户界面上或者进行语音提示。面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面。一个对象只做一件事情,并且将他做好。观察者设计模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。实现方式首先是观察者在被观察者那儿注册,然后被观察者发生变化后,向每一个在他那儿注册的观察者发送消息,通知他们进行数据修改。在手机导航软件中,只要位置信息发生了改变,导航信息以及地图显示信息都要做相应的变换。3手机导航软件中观察者设

7、计模式的应用GPS位置信息是一个被观察者,地图显示是一个观察者,导航信息也是一个观察者,他们都向位置信息做了相应注册,当前位置发生变化,地图显示收到更新,将新的位置信息展示到地图上,导航信息收到更新,调用相应的导航算法去判断当前的一些导航信息(转向距离,转向方位,是否偏航等)来进行页面的展示和用户的交互,如图1。3.1定义观察者接口//定义位置观察者接口,声明位置变化的更新函数,当位置发生了变化(精度,海拔,//经度,纬度,速度,方向等),自动调用位置更新函数。publicinterfaceLo

8、cationObserver{void1ocationDataChanged(Locationlocation);3.2定义具体的观察者在导航应用中定义具体观察者,当数据发生变化,前台页面相应的进行修改或者数据变换,改变导航信息来与用户进行交互,语音提示。例如:刚进入系统的时候未获取到位置信息,将显示默认地图,定位观察者将等待位置信息,当捕获了GPS之后通知所有的观察者,定位观察者收到通知后,首先将地图的中心位置设置为当前位置,然后在地图中画出当前位置,展示给用户,如图2所示(圆圈代表定位精度)

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

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

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