2012-01-02 109 views
1

哪种方式更好?传递“控制”作为参数vs传递控制的ID

1)传递一个控制本身作为参数传递到该控制的一个id(手动管理)作为参数成函数的函数

2)。说对的控制我已经ctrl_Array = [ my_btn, my_mc, my_dtg ]和相应id_Array[0,1,2]

PS阵列:如果我的问题是很难理解的,我只是想知道,如果它是一个良好的编程习惯的类作为函数的参数中传递控制参考?

谢谢 Vishwas。

+0

这取决于具体情况。请详细解释一下你正在努力实现的目标,该方法做了什么等等。 – taskinoor 2012-01-02 08:00:05

回答

1

我认为通过参考是迄今为止最干净和易于维护的解决方案。事实上,我不认为我可以想出一种情况,在这种情况下手动维护引用列表并传递ID的方式是更可取的......看起来像更多的工作和客户端类中的额外依赖关系。 但也许我完全不明白这个问题。

- 编辑 -

只是想补充一点,使用的ID绝对是慢,因为它需要额外的查找

- 编辑 -

如果已经添加了我总是使用接口来限制成员访问并允许多态。对我来说,它不去说。

+0

实际上,我个人认为,传递控件会使部分代码易受懒惰编码的影响。就像在一个类中有一个公共属性一样。所以当程序员将一个控件作为参数传递时,它将完全控制其他函数来操纵它的属性。拥有一个id时,总会强制程序员对该控件的访问施加限制。此外,ids帮助数字依赖(1,2,3,4 ..),这有它自己的优势。我会尝试在我的问题中添加更多解释,如果可能的话,现在我无法找到单词。 – 2012-01-03 05:52:57

+0

嗯,好吧,所以你不会使用id来查找传递给它的函数中的控件引用? 封装和成员访问限制是接口的用途之一。我肯定会使用接口。也许我应该在我的答案中加上这一点。 – Creynders 2012-01-03 08:15:35