模式印象系列--Visitor 模式
该模式其实也比较简单,但是一直没有用过,所有有些陌生,反反复复看过很多遍了。其实看到这个模式总是让我想起在c里头的函数指针,在数据结构的c版本中,经常会遇到把函数作为一个参数传入到另外一个函数的情况,特别是在那些图的遍历的方法中。
访问者模式就有点类似于这样一种情形;
在这里有访问者 和 被访问者 ,被访问者往往不止一个,访问者也不止一个,如此一来,多个被访问者有一个共同的父类,多个访问者也有一个共同的父类,当对这些被访问者要进行一种新的操作的时候就可以添加一个新的访问者,而对原来的行为没有影响。就这一点而言,他其实和装饰者有点类似,装饰者也是当要对被装饰者添加一个新的修饰的时候,就添加一个新的装饰者,然后把被装饰者作为参数传进来就可以了。
访问者模式就有点类似于这样一种情形;
在这里有访问者 和 被访问者 ,被访问者往往不止一个,访问者也不止一个,如此一来,多个被访问者有一个共同的父类,多个访问者也有一个共同的父类,当对这些被访问者要进行一种新的操作的时候就可以添加一个新的访问者,而对原来的行为没有影响。就这一点而言,他其实和装饰者有点类似,装饰者也是当要对被装饰者添加一个新的修饰的时候,就添加一个新的装饰者,然后把被装饰者作为参数传进来就可以了。

浙公网安备 33010602011771号