父子循环(无限父关系)

时间:2014-01-10 20:17:05

标签: nested parent-child parent infinite-loop children

伪代码:

Object A is a parent of Object B
Object B is a parent of Object C
Object C is a parent of Object A

为什么大多数程序通常都不允许这样做(我从未见过它)?

程序无法识别何时进行循环并停止执行任务?


For Instance:
假设这些对象是3d网格,我们希望将x轴上的对象A转换为2个单位。 通常,父子关系会移动A的任何子项。因此它遍历子项树,并将每个子项在x轴上的2个单位转换为A.然后它到达树中的对象A,而不是移动它,为什么不让它检查身份,如果身份返回true,那么停止移动东西?

这只是软件开发人员的懒惰吗?

1 个答案:

答案 0 :(得分:1)

我建议它是等效的,并且通常认为对象D是对象A,对象B和对象C的父对象更容易。无论三者有什么共同点都可以在D.中定义。每个人都可以定义共同点。

无需循环检测。循环检测可能看起来很小,但它会一直为每个对象带来开销。