访问者模式适用于数据结构相对稳定得系统。元素对象相对稳定,不会轻易增加对象的类型。通过增加访问者种类比较容易扩展元素对象的行为,实现了访问者和元素对象的分离解耦。
代码结构:
1.对象结构类:持有一个对象元素的集合,并且拥有添加对象和移除对象的方法。持有一个对外开放的高层接口,用于访问者遍历访问集合中的所有对象元素。
2.对象元素类:利用双分派技术定义了一个方法,该方法将访问者作为参数,函数体中调用用访问者中对应元素对象类型的行为方法并将元素对象本身作为参数传递。
3.访问者抽象类,根据对象元素的种类实现了多个行为方法,此方法将元素对象作为参数,内部进行一些行为。
网友评论