对于某种数据结构,可以在这些数据结构上进行操作,减少数据结构和操作之间的耦合性,是操作的部分可以自由的改变。
例:例如有一个单个对象和一组对象,现在要打印单个对象的名称和一组对象的名称。
抽象角色和抽象访问者。
实现具体的角色,每个角色的数据结构不一样。
实现具体的访问者,实现自己的操作。
客户端调用及结果。