观察者模式(Observer),责任链模式,访问者模式(Visitor)

翻译 2016年08月13日 20:10:17
概念:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。行为型模式。

main(),

IObservable,被观察者接口

CHanFeiZiObservable,被观察者韩非子

IObserver,观察者接口

CLiSiObserver,观察者李斯

CZhouSiObserver观察者周斯

说明:将观察者聚集到被观察者韩非子身边,韩非子的每一个举动都会通知给观察者,如李斯或周斯。

注意:最多允许一个对象既是观察者也是被观察者。就像数据库中的触发器一样,成为一个复杂的链就很难维护了。观察者类似于委托的处理方式。



责任链模式:

概念:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

main(),客户

IWomen,发出请求者接口

CWomen,请求者实现类

CHandler,处理请求抽象类

CFather,处理请求实现类,责任链之一

CHusband,处理请求实现类,责任链之二

CSon,处理请求实现类,责任链之三

说明:CHandler抽象类负责聚合责任链之中的其它处理对象,用SetNext来建立这个责任链。HandleMessage在处理请求时,会判断是否是自己要处理的请求,如果是则直接处理。如果不是,则查找下一个责任链上的处理对象,找到了则由下一个处理。


访问者模式:

18.1.解释

概念:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

main(),客户

IVisitor,访问者接口

CBaseVisitor,访问者实现类

CEmployee,被访问者抽象类

CCommonEmployee,被访问者实现类之一

CManager,被访问者实现类之二

说明:A接受B的访问,B主动的执行访问动作。

注意:和观察者的区别是,被观察者要执行一个动作,然后主动发送通知给观察者。访问者模式是由访问者主动发出的动作。

设计模式--职责链模式观察者模式

\ 以汽车组装为例子来说明 package responsibility; /** * 定义的汽车生产处理的抽象类 * Title: CarHandler * Desc...
  • ZuoAnYinXiang
  • ZuoAnYinXiang
  • 2016年01月04日 20:43
  • 584

观察者模式(Observer),责任链模式,访问者模式(Visitor)

概念:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。行为型模式。 main(), IObservable,被观察者接口 CHan...
  • tianyucad123
  • tianyucad123
  • 2016年08月13日 20:10
  • 1137

Java观察者模式以及与订阅发布者模式区别

设计模式复习,代码是最好的说明。 定义:观察者模式定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新,属于行为类模式。 注意:观察者模式和发布订阅...
  • poyuan97
  • poyuan97
  • 2017年09月28日 16:15
  • 139

设计模式总结之Visitor Pattern(访问者模式)

表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。...
  • cooldragon
  • cooldragon
  • 2016年08月12日 12:10
  • 4174

Java设计模式(三) Visitor(访问者)模式及多分派场景应用

基本概念Visitor 封装一些作用于数据结构中的各元素的操作,不同的操作可以借助新的visitor实现,降低了操作间的耦合性 访问者可以将数据结构和对数据的操作解耦,使得增加对数据结构的操作不需要取...
  • qq_24451605
  • qq_24451605
  • 2016年04月14日 15:32
  • 5208

行为型设计模式(职责链模式,命令模式,中介者模式,观察者模式,访问者模式)

职责链模式 主要用于使多个对象都有机会处理请求,避免请求的的发送者和接受者之间的耦合关系。在现实生活中我们多数遇到的是不纯的责任链模式即每个对象都处理请求的一部分后再交给下家。而纯的职责链模式则要求对...
  • l_z_w99
  • l_z_w99
  • 2017年01月01日 19:42
  • 108

观察者模式(Observer),责任链模式,访问者模式(Visitor)

概念:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。行为型模式。 main(), IObservable,被观察者接口 CHan...
  • tianyucad123
  • tianyucad123
  • 2016年08月13日 20:10
  • 1137

设计模式(行为型)之访问者模式(Visitor Pattern)

访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。访问者模式使得用户可以在不修改现有系...
  • yanbober
  • yanbober
  • 2015年05月06日 17:11
  • 3251

JAVA设计模式十四--Visitor(访问者模式)

访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。 据《大话设计模式》中说算是最复杂也是最难以理解的一种模式了。    定义(源于GoF《Design...
  • hfmbook
  • hfmbook
  • 2012年06月22日 10:20
  • 8954

观察者模式和监听模式

观察者模式和监听模式完成的都是一样的工作就是通知的作用。我们现在试想一个案例,一个士兵在发现敌人之后需要报告长官。好的我们现在来着手写leader和Caption类没有变Pawn 类package t...
  • god_wen
  • god_wen
  • 2017年12月23日 13:45
  • 22
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:观察者模式(Observer),责任链模式,访问者模式(Visitor)
举报原因:
原因补充:

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