文章目录
1. 访问者模式概述
1.1 定义
访问者模式是一种行为型设计模式,它允许在不改变各元素类的前提下定义作用于这些元素的新操作。访问者模式通过将操作与对象结构分离,使得我们可以在不修改对象结构的情况下向现有对象结构添加新的操作。
1.2 基本思想
访问者模式的核心思想是:
- 将数据结构与数据操作分离
- 针对不同的元素类型,访问者可以执行不同的操作
- 在不修改已有类的情况下,通过添加新的访问者实现对元素的新操作
2. 访问者模式的结构
访问者模式包含以下角色:
- 抽象访问者(Visitor):声明了一组访问方法,用于访问不同类型的具体元素
- 具体访问者(ConcreteVisitor):实现抽象访问者接口中声明的方法,为不同类型的元素提供具体操作实现
- 抽象元素(Element):声明一个接受访问者的方法(accept),以供访问者访问
- 具体元素(ConcreteElement):