如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Visitor模式理解高福来以下是自己个人对visitor的理解。首先它包含两个方面的内容:一个是操作对象,另一个是操作。这里注意一下,操作对象是宏观的概念,比如一段程序,有声明语句,有分支语句,有循环语句等,有一个抽象的概念来声明操作对象,简单的理解是一个房子,有不同的房间,每个房间的作用不同,对它的改造也不一样,卧室应该布置得怎样,厨房应该布置得怎样等等,事先不知道要改造哪一个房间,就统一抽象出一个方法来,具有的操作由其它的类来完成。这里有一个问题,能不能直接在自己的类中写呢?这里有一个问题,如果风格随着时间的改变,会发生改变,再修改就很麻烦,因此就延迟到子类中完成。以下结合改造房子的例子来说明。房子:卧室、厨房、客厅三部分。对它的改造方式不尽相同,有些也不可预见,但要预见。不同的人对卧室的改造方法也不同,因此传递接口,具体的由子类来完成,即是延迟到子类中实现的意思。写一个简单的例子。在网上看见了一个它的结构图,贴出来。