Visitor模式:数据结构与处理被分离开。
Visitor(访问者) | 负责对数据结构中每个具体的元素声明一个用于访问XXX的visit(XXX)方法 |
ConcreteVisitor(具体的访问者) | 负责实现Visitor角色所定义的接口 |
Element(元素) | 表示Visitor角色的访问对象 |
ConcreteElement | 实现Element定义的接口 |
ObjectStructure(对象结构) | 负责处理Element角色的集合 |
开闭原则:对扩展(extension)开放,对修改关闭
Visitor模式:数据结构与处理被分离开。
Visitor(访问者) | 负责对数据结构中每个具体的元素声明一个用于访问XXX的visit(XXX)方法 |
ConcreteVisitor(具体的访问者) | 负责实现Visitor角色所定义的接口 |
Element(元素) | 表示Visitor角色的访问对象 |
ConcreteElement | 实现Element定义的接口 |
ObjectStructure(对象结构) | 负责处理Element角色的集合 |
开闭原则:对扩展(extension)开放,对修改关闭