| 意图 | 统一遍历协议、封装内部结构 |
|---|---|
| 形态 | hasNext/next 或语言生成器 |
| 风险 | 遍历中容器被修改(fail-fast) |
生成器形态(Python)
生成器形态(Python)
def walk(tree):
yield tree.value
for child in tree.children:
yield from walk(child)提供顺序访问聚合元素的统一方式而不暴露内部结构:语言内建(for-each、生成器)已成默认形态;自定义迭代器要处理并发修改与失效语义。
| 意图 | 统一遍历协议、封装内部结构 |
|---|---|
| 形态 | hasNext/next 或语言生成器 |
| 风险 | 遍历中容器被修改(fail-fast) |
def walk(tree):
yield tree.value
for child in tree.children:
yield from walk(child)