Observer模式的几点体会

原创 2004年10月27日 21:25:00
恩,明天又轮到我给我们小组讲模式,正好一边整理思路一边写随笔 ^_^

首先是Observer模式,个人感觉这个模式是用来解耦相互联系的两个对象,以便他们可以独立的被重用。
这个模式值得注意的是以下几个方面:

(1)由谁来发起通知。是由Subject自身改变时自动调用Notify,还是由Client来调用。前者比较自动,但是Update的频率比较高;后者相对被动,但是可以实现Subject多次改变后Observer的集中更新。

(2)由谁建立Subject和Observer之间的关联。是由Subject::Add(Observer)还是由Observer::Subcribe(Subject)。我觉得后一种比较好,因为Subject不必知道它的Observer是谁,而Observer必须知道它要Observe谁 :)

(3)Subject可以再分解。Subject = Entity + ObserverableInterface,Entity是一个实体,它有它的功能和性质,我们把他装配上一个可以被Observed的接口,它就变成一个Subject了。具体的方式可以多重继承,组合等等。

(4)不好的地方:我觉得这个模式最为不好的地方就是隐藏了Observer,在Client中看不到Observer的行为。不过,也许你会说这个是Observer模式的优点...我也不置可否!

使用js实现observer模式

在yui中,大量使用customEvent。何为customEvent,实际就是一个观察者observer。下面给出这个observer的实现html>    head>        meta ht...
  • kentchenj
  • kentchenj
  • 2007年01月19日 10:52
  • 1503

设计模式----Observer模式

在以下任一情况下可以使用观察者模式: 1、当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这二者封装在独立的对象中以使他们可以各自独立的改变和复用 2、当对一个对象的改变需要同时改变其他...
  • fly542
  • fly542
  • 2011年08月25日 00:00
  • 4699

设计模式 - 观察者模式(Observer Pattern) 详解

观察者模式(Observer Pattern) 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26583157 版权...
  • u012515223
  • u012515223
  • 2014年05月22日 14:37
  • 2981

观察者模式(Observer 模式)

一、 概述  观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(D...
  • l_lhc
  • l_lhc
  • 2016年02月25日 18:12
  • 559

observer、listener模式的推与拉

导读: 1. observer模式简介 2. 两种实现方式:推与拉 observer模式简介 observer模型,又被称作listener模式。这里统一用observer来称呼。...
  • viewcode
  • viewcode
  • 2012年12月05日 17:47
  • 3992

javascript实现Observer模式来管理多个事件回调

《实战ajax》第四章介绍了这样的一个模型,与java中的事件处理模型相一致,观察者——监听者模式,感觉很酷:)。比如,我要对ID为mousemat的div标签的onclick事件增加两个事件writ...
  • killme2008
  • killme2008
  • 2006年07月28日 20:24
  • 1838

C#,由委托到Observer设计模式,再到事件机制

1. 什么是委托? 开始处理诸如int,bool等基本数据类型,它们是数据的类型。委托,是方法的类型。 如  int a; a可以是1,2,3,4,5......... 那么 delegate D; ...
  • u013781568
  • u013781568
  • 2014年03月01日 11:30
  • 997

nodejs 设计思想杂记 三 observer模式

观察者模式:一个对象,当其状态改变时能够通知一系列的观察者。 EventEmitter 看图说话 使用方法: var EventEmitter = require('events').Event...
  • oZuoQi
  • oZuoQi
  • 2016年07月06日 12:55
  • 827

Observer 模式及JAVA内置的observer示例

关于观察者模式 假设今天您设计一个图形分析算表程序,当中有一个资料物件,您可以用表格图形物件、柱状图形物件、圆饼图形物件等方式来 呈现物件,无论您是用哪种图形物件,重点是若资料物件的内容作了更改,则图...
  • hu1020935219
  • hu1020935219
  • 2014年09月22日 12:42
  • 2421

MVC模型中的Observer模式

Symbian----MVC模型中的Observer模式------------------------------------------------------------------------...
  • luobonet
  • luobonet
  • 2008年01月14日 15:35
  • 351
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Observer模式的几点体会
举报原因:
原因补充:

(最多只允许输入30个字)