最近20天都在写这个...终于完工了(走向无尽的重构道路...)...感谢VC聚聚的博文和RE2作者的博客指导,感谢VC聚聚的源码参考.非常感谢!启发很大.vc聚聚的正则语法树遍历部分的方案.真是精妙!之前我虽然知道用Visitor模式遍历异构树,但是不知道怎么写vistor的框架满足需求.用的时候...
分类:
其他好文 时间:
2014-10-26 01:39:00
阅读次数:
273
定义:表示一介作用于某个对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
结构图:
示例代码:
public interface Vistor {
public abstract void vistorConcreteElementA(ConcreteElementA concreteElementA);
public abstr...
分类:
其他好文 时间:
2014-10-05 12:15:18
阅读次数:
199
一、引言 在上一篇博文中分享了责任链模式,责任链模式主要应用在系统中的某些功能需要多个对象参与才能完成的场景。在这篇博文中,我将为大家分享我对访问者模式的理解。二、访问者模式介绍2.1 访问者模式的定义 访问者模式是封装一些施加于某种数据结构之上的操作。一旦这些操作需要修改的话,接受这个操作的数.....
分类:
其他好文 时间:
2014-09-20 15:07:29
阅读次数:
259
1.概述在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同。例子1:顾客在超市中将选择的商品,如苹果、图书等放在购物车中,然后到收银员处付款。在购物过程中...
分类:
其他好文 时间:
2014-08-03 12:40:15
阅读次数:
331
Physical
Plan生成过程优化后的逻辑运行计划被LogToPhyTranslationVisitor处理,生成物理运行计划。这是一个经典的Vistor设计模式应用场景。当中,LogToPhyTranslationVisitor的visit()为入口方法,通过DependencyOrderWa...
分类:
其他好文 时间:
2014-06-10 21:35:33
阅读次数:
362