Skip to content

Commit c34424f

Browse files
unknownunknown
unknown
authored and
unknown
committed
8.21节,vistor模式的翻译,已经从'观察者模式'改正为'访问者模式'。此处修改8.22节:观察者模式指observer模式,早已成业界通用词汇。此处vistor译为观察者不妥,应为访问者。
1 parent 86e3d3f commit c34424f

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

source/c08/p22_implementing_visitor_pattern_without_recursion.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
============================
2-
8.22 不用递归实现观察者模式
2+
8.22 不用递归实现访问者模式
33
============================
44

55
----------
66
问题
77
----------
8-
你使用观察者模式遍历一个很深的嵌套树形数据结构,并且因为超过嵌套层级限制而失败。
9-
你想消除递归,并同时保持观察者编程模式
8+
你使用访问者模式遍历一个很深的嵌套树形数据结构,并且因为超过嵌套层级限制而失败。
9+
你想消除递归,并同时保持访问者编程模式
1010

1111
|
1212
1313
----------
1414
解决方案
1515
----------
1616
通过巧妙的使用生成器可以在树遍历或搜索算法中消除递归。
17-
在8.21小节中,我们给出了一个观察者类
17+
在8.21小节中,我们给出了一个访问者类
1818
下面我们利用一个栈和生成器重新实现这个类:
1919

2020
.. code-block:: python
@@ -53,7 +53,7 @@
5353
def generic_visit(self, node):
5454
raise RuntimeError('No {} method'.format('visit_' + type(node).__name__))
5555
56-
如果你使用这个类,也能达到相同的效果。事实上你完全可以将它作为上一节中的观察者模式的替代实现
56+
如果你使用这个类,也能达到相同的效果。事实上你完全可以将它作为上一节中的访问者模式的替代实现
5757
考虑如下代码,遍历一个表达式的树:
5858

5959
.. code-block:: python

0 commit comments

Comments
 (0)