· tcodegenerationvisitor 是一个用于实现成员的代码生成器的访问者。
· 访问者定义了一个上下文相关的属性:output: ttextstream,
· 它必须在visitxxx调用前被定,如:drawingvisitor典型的需要一个包括canvas的上下文,来支持画图操作。上下文在遍历整个member对列前赋予了代码生成器。
· 代码生成器将整结的生成的类的所有代码
要真正的了解visitor模式,你可执行这个例子 ,并进一步的学习双分派机制: accept/visit.
unit codegenerators;
interface
uses classes, textstreams;
type
tcodegenerator = class (tobject)