观察者模式在数据实时更新中应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
观察者模式在数据实时更新中应用

观察者模式在数据实时更新中应用   摘要:现在的Web程序都会涉及到众多形态各异的网页,部分网页对数据实时性提出了较高的要求,怎样更快捷地对Web页面进行数据的实时更新就显得尤为必要。提出了利用观察者模式对Web网页中的数据进行实时更新的思路。 关键词:网页设计;Web;设计模式;观察者模式 中图分类号:TP391文献标识码:A文章编号2012)009012102 0引言 网络技术的长足发展使得现在的Web网页可以像桌面程序一样实现实时数据的更新。实时更新的网站数据可以给读者一种身临其境的感觉,如现场比赛的实时图文直播就是利用了数据实时更新的技术。本文将利用著名的观察者模式提出一种数据实时更新的解决方案。 1设计模式与模式四要素 第一次接触到设计模式这个词的时候,首先让我想到的就是“围棋定式”,定式避免了计算带来的认知超载,并由于经过前人检验,其结果有可预测性且相对对等。这就是设计模式给开发人员带来的好处,可以减小编程时候的思维难度,把某一种模式运用到你需要的地方,比如在制造汽车的时候,可以说要4个轮子,而不需要了解轮子的制作过程,因为4个轮子已经在手边了。在此应用了“围棋定式”引出设计模式这个概念,后文将对其详细地加以阐明。 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码的可靠性。设计模式这个术语开始于《Design Patterns: Elements of Reusable ObjectOriented Software》(后文简称《设计模式》)这本书。这本书是由Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 4人合作的,这4个人日后被称为4人组(Gang of Four),他们是设计模式的开创者。在《设计模式》这本书里面提及了23种设计模式。到现在为止,在这23种模式的基础上,伟大的软件架构师和程序员们又衍生出不少模式。 这些模式与其说是一种技术,不如说是一种思想,一种经验。而4人组以及后面前仆后继的软件架构师们将他们在日常工作中积累起来的编程经验升华成为一种思想,并把这种思想用教学的形式写出来,作为后来者这是一本很好的入门教程。 在设计模式经典的著作里,前辈们把一个模式归结为由4个基本要素组成:模式名称、问题、解决方案和效果。 (1)模式名称(Pattern Name):一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式增加了设计词汇。 (2)问题(Problem):描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。 (3)解决方案(Solution):描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。 (4)效果(Consequences):描述了模式应用的效果及使用模式应权衡的问题。尽管在描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。 2观察者模式 在编码的过程中,总是想尽可能地减少修改,尽可能地增加复用,但往往就会遇到一些难题阻扰理念得以执行。比如,在软件构建过程中,需要为某些对象建立一种“心动关系”,当某个对象(被观察者)的状态发生改变,其它对其感兴趣的对象(观察者)可以顺利地感知到其发生了变化,而做出相应的动作。 使用观察者模式,可以将这种依赖关系弱化,形成一种稳定的关系。从而实现软件体系结构的高内聚。 就像一个设备拥有若干零件一样,一个典型的观察者模式一般会有以下成员:Subject(被观察者接口)、Observer(观察者接口)、Specific Subject(特定的被观察对象)、Specific Observer(特定观察者),如图1。 (1)被观察者接口:被观察者接口主要作用是统一规定了具体的被观察对象的样式,它更像一个被规定好的行为规范,等待着特定的被观察者去遵循。对于同一个被观察者,可以有多个观察者观察它。 (2)观察者接口:观察者接口主要作用是统一规定了具体的观察者的样式,同样它也只是一个等待遵守的行为规范。不同的是它定义了一个方法,这个方法通常被叫做更新(Update),当被观察者发生变化时,这个方法将被调用。 (3)特定的被观察对象:按照事先定义好的行为规范,定义自己的行为,状态发生改变的时候通知所有观察者。 (4)特定观察者对象:按照事先定义好的行为规范,定义自己的行为,并实现了Update方法,实时根据被

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档