观察者模式(Subject/Observer)

定义:对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

功能:搜索数据库,当有需要公布的数据将其用各种方式发送出去。

观察者模式无疑能很好的做到上面的要求,无论要多少种方式,只要增加多个继承之ITransfer接口的派生类即可,有很好的维护性。

以下是实际的应用.

时间: 2024-08-03 01:58:52

观察者模式(Subject/Observer)的相关文章

设计模式之观察者模式(Observer Pattern)(一)

server|设计 我们通常在同一时间将我们的数据表示为各种不同的形式,比如列表.图形等等. 我们也同样希望当数据改变时,将这个更新信息很方便的通知所有依赖于它的各个对象. 例如:我们可以使用图形.表格或者列表框显示股票的价格,当股票的价格发生改变时,我们期望同时很方便的更改其它部分. 在这种情况下我们就可以使用Observer模式.我们可以很容易的利用Observer模式使我们的程序可以很方便的解决上面的问题. 结构图: 观察者模式假定保存数据的对象和显示数据的对象是分开的,负责显示数据的对象

设计模式:观察者模式(Observer)

定义对象见的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 观察者模式的角色 1. 抽象主题角色(Subject):把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者.抽象主题提供一个接口,可以增加和删除观察者角色.一般用一个抽象类和接口来实现. 2. 具体主题角色(ConcreteSubject):在具体主题内部状态改变时,给所有登记过的观察者发出通知.具体主题角色通常用一个子类实现. 3. 抽象观察者角色(Obse

观察者模式(Observer Pattern)

      观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己. 模式结构 观察者模式的好处:    观察者模式所做的工作其实就是在解除耦合,让耦合的双方都依赖于抽象,而不是依赖于具体.从而使得各自的变化都不会影响另一边的变化. 何时使用? 1,当一个对象模型有两个方面,其中一个方面依赖于另一方面.将这二者封装在独立的对象中以使他们可以各自独立地改变和复用. 2,当一个对象的改变需要同时改变其他

设计模式之观察者模式(Observer Pattern)(二)

server|设计 在上例子中传递的信息是一个字符串,当我们点击其中一个radio button,我们可以得到这个radio button的名称(Red Blue Green),将这个名称发送到观察者(Observer). Observer提供一个对目标主体(Subject)抽象连接,一个目标主体(Subject)不知道他的观察者(Observer)的任何信息,但是当他改变时可以更新通知发送到各个注册过的观察者(Observer). 我们也可以使用委托(Delegate)来实现Observer模

.NET设计模式(19):观察者模式(Observer Pattern)

概述 在软件构建过程中,我们需要为某些对象建立一种"通知依赖关系" --一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化.使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.[GOF <设计模式>] 结构图 图1 Observer模式

.NET设计模式:观察者模式(Observer Pattern)

意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.[GOF <设计模式>] 结构图 图1 Observer模式结构图 生活中的例子 观察者定义了对象间一对多的关系,当一个对象的状态变化时,所有依赖它的对象都得到通知并且自动地更新.拍卖演示了这种模式.每个投标人都有一个标有数字的牌子用于出价.拍卖师开始拍卖时,他观察是否有牌子举起出价.每次接受一个新的出价都改变了拍卖的当前价格,并且广播给所有的投标人进行新的出价. 图2 使用拍卖例子

.NET设计模式-观察者模式(Observer Pattern)

概述 在软件构建过程中,我们需要为某些对象建立一种"通知依赖关系" --一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化.使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.[GOF <设计模式>] 结构图 图1 Observer模式

艾伟_转载:.NET设计模式:观察者模式(Observer Pattern)

概述 在软件构建过程中,我们需要为某些对象建立一种"通知依赖关系" --一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化.使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.[GOF <设计模式>] 结构图 图1 Observer模式

Java设计模式之观察者模式(Observer模式)介绍_java

Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Observer(观察者)模式是比较常用的一个模式,尤其在界面设计中应用广泛,而本教程所关注的是Java在电子商务系统中应用,因此想从电子商务实例中分析Observer的应用. 虽然网上商店形式多样,每个站点有自己的特色,但也有其一般的共性,单就"