让我们假设我有一个节点集合,稍后将用于我的渲染器类。然后我有一个访问者类,可以访问节点或整个集合。这很简单,因为我的节点集合只是一个带有一些额外方法的std :: list包装器。
问题是,我想为节点(而不是简单列表)拥有树形结构,以便一个节点可以有一个父节点和n个子节点。这将非常方便,因为我想能够向我的渲染器传递一个节点并渲染该节点“下面”的所有内容。答案可能是Composite。
如何同时使用Visitor和Composite?我已经阅读过它们通常是一个好组合,但我的实现看起来相当糟糕...我错过了什么。
问题是,我想为节点(而不是简单列表)拥有树形结构,以便一个节点可以有一个父节点和n个子节点。这将非常方便,因为我想能够向我的渲染器传递一个节点并渲染该节点“下面”的所有内容。答案可能是Composite。
如何同时使用Visitor和Composite?我已经阅读过它们通常是一个好组合,但我的实现看起来相当糟糕...我错过了什么。
NodeVisitor
中调用节点子元素的accept
方法? - user35443