Chinaunix首页 | 论坛 | 博客
  • 博客访问: 278992
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 971
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-03 10:05
文章分类

全部博文(138)

文章存档

2016年(1)

2015年(137)

我的朋友

分类: Java

2015-07-11 12:55:33

定义:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖他的对象都会收到通知并自动更新;
应用到的oo原则:为交互对象之间的松耦合设计而努力。
java API有内置的观察者模式。java.util包内包含基本的Observer接口和Observable类!观察者和被观察者之间的交互是由被观察者向观察者推送形式实现的。
../_images/Obeserver.jpg
应用
一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其他的对象做出相应的改变。做到这一点的设计方案有很多,但是为了使系统能够易于复用,应该选择低耦合度的设计方案。减少对象之间的耦合有利于系统的复用,但是同时设计师需要使这些低耦合度的对象之间能够维持行动的协调一致,保证高度的协作。观察者模式是满足这一要求的各种设计方案中最重要的一种。
在程序中,我们需要在某些数据变化时,其他的类做出一些响应,我们总不能开一个线程,每隔一段时间就去检测数据有没有发生变化吧,那样效率很低,我们更希望那些具有变化属性的类能够主动将自己的变化推送给,希望检测这些变化的其他类。正如我们去医院排队,不能隔两分钟就去问大夫“轮到我了吗”,而是坐在那里等大夫的通知,大家都接收到一个名字信号,叫到谁谁就去~ 而观察者就是这样一种模式,大夫的名单就是被观察者,也叫做一个 主题。每一个病人就是一个观察者。因而,观察者模式也叫做 发布订阅模式
阅读(1103) | 评论(0) | 转发(0) |
0

上一篇:策略模式应用

下一篇:fork

给主人留下些什么吧!~~