我正在使用Cairngorm库创建一个Flex项目,并尝试将代码保持在良好的MVC结构中。我刚刚添加了一些代码来将一个原型函数添加到内置类中(我将方法“contains”添加到Array中),我想知道你会考虑哪些最佳实践将这些代码放在我的项目中结构
答案 0 :(得分:1)
在我看来,最好是在Array上进行子类化或组合,而不是修改它的原型。修改原型可能会导致维护阶段的混乱,这是使用像Cairngorm这样的框架的主要原因之一。
如果创建新类不适合您,那么还要考虑创建一个实用程序类。
Flex实际上已经有一个名为ArrayUtil的实用程序类和一个可以执行所需操作的函数:ArrayUtil.getItemIndex
。
var obj1:Object = new Object();
var obj2:Object = new Object();
var myArray : Array = [obj1, obj2];
ArrayUtil.getItemIndex(obj1, myArray); // returns 0
ArrayUtil.getItemIndex(obj2, myArray); // returns 1
ArrayUtil.getItemIndex(obj3, myArray); // returns -1