《设计模式Design Pattern》读书笔记之二十一

来源:互联网 发布:新闻资讯类数据分析 编辑:程序博客网 时间:2024/04/28 20:55

《设计模式Design Pattern》读书笔记之二十一

Visitor模式

结构

 

目的

当一个对象(node)结构相对固定的时候,通过创建一个一个visitor对象来对这个结构中的所有node进行访问;而不是在各个node中创建一个一个成员函数;这样,该node结构不需要改变,可以随意增加visitor对象来增加对node结构的不同访问动作。

 

讨论

1,  如果node经常修改(增加/减少等),visitor模式并不适合。因为node的修改,会牵涉到修改所有visitor的接口。

2,  node需要提供一定的函数来供visitor访问,这样会稍微破坏封装性。

3,  可以有三种方式进行对node结构进行便利:node本身,visitor,一个iterator

 

 

 

参考资料

Design Pattern  Gang-Of-4  1997