23-19,访问者模式

1、访问者模式(Visitor Pattern)是一个相对简单的模式,其定义如下:Represent an operation to bu performed on the elements of an object structure,Visitor lets you difine a new operation without changing the classes of the elements on which it operate.(封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作)

2、访问者模式的角色:
  一、Visitor-访问者角色
  抽象类或者接口,声明访问者可以访问那些元素,具体到程序中就是visit方法的参数定义那些对象是可以访问的。
  二、ConcreteVisitor-具体访问者
  它影响抽象者访问访问到一个类后该怎么干,要做什么事情。
  三、Element-抽象元素
  接口或者抽象类,声明接受哪一类访问者访问,程序上通过accept方法中的参数来定义
  四、ConcreteElement-具体元素
  实现accept方法,通常是visitor.visit(this),基本上都形成一种模式了。
  五、ObjectStruture-结构对象
  元素产生者,一般容纳在多个不同类,不同接口的容器。如:List Set, Map等,在项目中,一般很少抽象出这个角色。



你可能感兴趣的:(访问者模式)