首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

访问者方式(Visitor)

2013-02-19 
访问者模式(Visitor)访问者模式(Visitor),表示一个作用于某对象结构中各元素的操作,它使你可以不改变各元

访问者模式(Visitor)

       访问者模式(Visitor),表示一个作用于某对象结构中各元素的操作,它使你可以不改变各元素的类的前提下定义作用于这些元素的新操作。

       访问者模式适合于数据结构相对稳定的系统。它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化。

       访问者模式的目的是要把处理从数据结构分离出来,很多系统可以按照算法和数据结构分开,如果这样的系统有比较稳定的数据结构,又有易于变化的算法的话,使用访问者模式就是比较合适的,因为访问者模式使得算法操作的增加变得容易。

访问者模式UML类图:

访问者方式(Visitor)

如上图所示:Visitor类,为该对象结构中ConcreteElement的每一个类声明一个Visit操作;ConcreteVisitor1和ConcreteVisitor2类,具体访问者,实现每个由Visitor声明的操作,每个操作实现算法的一部分,而该算法片断乃是对应于结构中对象的类;Element类,定义一个Accept操作,它以一个访问者为参数;ConcreteElementA和ConcreteElementB类,具体操作实现Accept操作;ObjectStructure类,能枚举它的元素,可以提供一个高层的接口以允许访问它的元素。

访问者模式代码实现:


















热点排行