|
|
1
5
我为我们的系统实施了非常类似的东西。我想要一种方法来组合几何对象的层次结构,并将其渲染到体积中。我使用复合模式来编写我的描述(根是Node,然后派生的子是compositeNode(节点列表)。 CompositeNode具有accept()方法,该方法接受访问者(visitor),然后在accept(;访问(此)。
|
|
|
2
3
这里有一个简单的例子:
|
|
|
3
1
如果你想让你的访问者也知道树的结构(例如,它正在访问的深度或从树根开始的路径),你可以考虑使用分层访问者模式。 c2.com wiki 它还展示了如何跳过“无趣”的分支。 |