如果您已经知道树结构怎么办?复合模式有替代品吗?

时间:2012-09-20 06:52:25

标签: java design-patterns architecture

我正在处理具有树状结构的API(不是OO类型的东西)。树中的每个节点都有一个特定的处理程序,您需要在创建它的子项时指定它。

我们的想法是围绕树的对象创建一个包装类,以便更容易地集成到未来的项目中。

问题是如何做到这一点?如果您事先已经知道了树结构,那么复合模式将无法正常工作。还有其他选择吗?你将如何围绕一个大而固定数量的树对象设计包装类?

它只是list-all-child-nodes-as-fields-in-parent-class类的东西?

1 个答案:

答案 0 :(得分:0)

tree的外观来看,它是平衡的,因此您可以使用二进制搜索快速到达此特定项目所需的最后一个节点。

我认为它们是某种链表结构,因此您构建了一个获取父节点的承包商(显然所有连接都达到了所需的点,因为它应该递归地将树从源迁移到父节点节点)。

这与expression trees类似。