文件名称:实现访问者模式-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2024-07-01 05:00:42
Python cookbook 中文 参考
8.21 实现访问者模式 问题 你要处理由大量不同类型的对象组成的复杂数据结构,每一个对象都需要需要 进行不同的处理。 比如,遍历一个树形结构,然后根据每个节点的相应状态执 行不同的操作。 解决方案 这里遇到的问题在编程领域中是很普遍的,有时候会构建一个由大量不同对象 组成的数据结构。 假设你要写一个表示数学表达式的程序,那么你可能需要定 义如下的类: class Node: pass class UnaryOperator(Node): def __init__(self, operand): self.operand = operand class BinaryOperator(Node): def __init__(self, left, right): self.left = left self.right = right class Add(BinaryOperator): pass class Sub(BinaryOperator): pass class Mul(BinaryOperator): pass