伪代码:
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,那么停止移动东西?
这只是软件开发人员的懒惰吗?
答案 0 :(得分:1)
我建议它是等效的,并且通常认为对象D是对象A,对象B和对象C的父对象更容易。无论三者有什么共同点都可以在D.中定义。每个人都可以定义共同点。
无需循环检测。循环检测可能看起来很小,但它会一直为每个对象带来开销。