程序设计模式观察者模式

程序设计模式观察者模式

ID:16311495

大小:161.00 KB

页数:12页

时间:2018-08-09

程序设计模式观察者模式_第1页
程序设计模式观察者模式_第2页
程序设计模式观察者模式_第3页
程序设计模式观察者模式_第4页
程序设计模式观察者模式_第5页
资源描述:

《程序设计模式观察者模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、河南理工大学《程序设计模式》结课论文2012—2013学年第2学期论文题目关于Observer模式的学习学生姓名李想学号311009060603专业班级软件工程Java10-6班指导教师霍占强2013年7月3日目录摘要11.Observer(观察者模式)概述22.Observer(观察者模式)的定义23.Observer(观察者模式)的结构和使用34.Observer的优缺点45.适合使用Observer的情景56.Observer在Java中的应用67.综合应用举例88.参考文献10摘要摘要设计模式(DesignPattern)是针对有一类问题的最佳解决方案,解决了在某种

2、特定情景中重复发生的某个问题。设计模式在程序设计中应用广泛,其遵循一定的编程模式,使自己的代码便于理解,易于交流。一个好的设计系统往往是易维护、易扩展、易复用的。设计模式的目的不是针对软件设计和开发中的每个问题都给出解决方案,而是针对某种特定环境中通常都会遇到的某种软件开发问题给出的可重用的一些解决方案,因此学习设计模式不仅可以使我们用好这些成功的模式,更重要的是可以是我们更加深刻的理解面向对象的设计思想,有利于更好的地使用面向对象语言解决设计中的问题。模式不使用理论推导出来的,而是从真实世界的软件系统中被发现、按着一定规范总结出来的可以被复用的方案。在寻找新的模式之前,必

3、须先精通现有的模式。通过研究学习现有的模式,可以比较容易地识别模式。面向对象程序设计中有很多种设计模式,大致可以分为三类:Structural(结构型),Behavioral(行为型),Creational(创建型)。在课堂上,老师已经讲过创建型模式和结构型模式所包含的共12种设计模式,本文所介绍的是Observer(观察者)设计模式,其属于Behavioral模式。观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常

4、被用来实作事件处理系统。本文主要介绍了Observer(观察者)设计模式相关理论性知识与实践应用,通过对Observer(观察者)设计模式的分析、理解、学习和掌握,以加深对java中的接口或抽象类应用的理解。关键词:设计模式面向对象Observer(观察者)设计模式理论与实践应用10关于Observer模式的学习10关于Observer模式的学习关于Observer模式的学习1.Observer(观察者模式)概述观察者模式(有时又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并

5、且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上。面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面。一个对象只做一件事情,并且将他做好。观察者模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。实现观察者模式的时候要注意,观察者和被观察对象之间的互动关系不能体现成类之间的直接调用,否则就

6、将使观察者和被观察对象之间紧密的耦合起来,从根本上违反面向对象的设计的原则。无论是观察者“观察”观察对象,还是被观察者将自己的改变“通知”观察者,都不应该直接调用。2.Observer(观察者模式)的定义根据GOF所著《DesignPatterns》中所述,Observer模式可定义为:Observer(观察者模式)的定义为:Definesaone-to-manydependencybetweenobjectssothatwhenoneobjectchangesstate,allitsdependentsarenotifiedandupdatedautomatically.

7、即定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,多有依赖他的对象都得到通知并被自动更新。观察者:(Observer)将自己注册到被观察对象(Subject)中,被观察对象将观察者存放在一个容器(Container)里。被观察:被观察对象发生了某种变化(如图中的SomeChange),从容器中得到所有注册过的观察者,将变化通知观察者。10关于Observer模式的学习在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。

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

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

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