包含要素:
Vistor:抽象访问者,为每一个element元素声明一个方法
ConcreteVistor:具体访问者
Element:抽象元素
ConcreteElement:具体元素
ObjectStructure:对象结构
示例demo:比如在公司中,一般老板关心管理者的情况,管理者关系员工的工作情况。

抽象元素,接收访问者的访问

具体元素,让访问者访问自己

具体元素,让访问者访问自己

访问者,访问不同的元素

访问者具体实现,实现对不同元素的不同访问逻辑

客户端,不同的元素接收访问者的访问,实现不同的访问逻辑