双重分发
// accept (接受)方法的调用方式
element.accept(visitor);
// visit(访问)方法的调用方式
visitor.visit(element);
ConcreteElement
和ConcreteVisitor
这两个角色互相调用共同决定了实际进行的处理
// accept (接受)方法的调用方式
element.accept(visitor);
// visit(访问)方法的调用方式
visitor.visit(element);
ConcreteElement
和ConcreteVisitor
这两个角色互相调用共同决定了实际进行的处理