我有一个flex应用程序,我正在使用cairngorm结构 -
src / com / mysite / editor / model /包含以下两件事
EditorModelLocator.as(Singleton Enforced Application Globals), EditorGlobalConstants.as(包含所有常量),如下所示
public static const SUPPORT_PHONE:String = '800-865-7496';
public static const SUPPORT_EMAIL:String = 'support@mysite.com';
我想知道放置辅助方法的最佳位置在哪里。我需要这些是我可以在单例强制类之外使用的方法。把它放在全局常量中是否有意义?唯一反对的是,我总是以同样的方式使用EditorGlobalConstants:
EditorGlobalConstants.SUPPORT_PHONE
'辅助函数'的示例如下:
public var blank(value:String):Boolean {
if( value == '' || value == null ) return true;
return false;
}
我可以在EditorGlobalConstants中存储所有这些信息,但我想知道是否可能会更好的EditorHelpers.as,以及我将如何实例化/使用该解决方案?
谢谢!
Andrew Thorp
答案 0 :(得分:1)
不熟悉cairngorm如何做事,但在AS3中,函数不必是类的一部分。
例如,您可以拥有一个名为helperFunction.as
的文件,其内容为:
package my.package {
public function helperFunction(arg1:Object, arg2:String):void {
// Do stuff
}
}
然后只需像导入其他任何内容一样导入该方法:
import my.package.helperFunction
您可以在代码中使用它。
只需选择一个对生存方法有意义的包(可能在同一个包中,它定义了帮助的对象)。
答案 1 :(得分:0)
如果您不仅要在单例类中使用辅助方法,最好将它们放在层次结构的上方。你可以自己轻松找到那个地方。我们试试吧:
让我们看一个例子..假设你有这个结构:
ToplevelApplication
|-BoxAtLevel_1
| |-BoxAtLevel_2
...
如果我希望我的助手只在BoxAtLevel_2中使用,我会把它们放在那里:
|-BoxAtLevel_1
| |-BoxAtLevel_2
| |-Helpers
等等..如果你有任何麻烦 - 把你的结构放在这里,我会帮助你。
另外,关于EditorHelpers.as ..这是一个实例级别的东西,还是类级别的东西?这就是设置你使用它们的方式。