我对Flex/ActionScript比较陌生,但我一直在使用我的util包中为每个函数创建一个文件的模式 - 文件名与函数名相同.就像文件是convertTime.as一样:
package util{ public function convertTime(s:String):Date{ ... } }
这样我就可以通过以下方式轻松导入函数:
import util.convertTime; ... convertTime(...);
我喜欢这种方式比导入类对象然后调用挂起它的静态方法更好,如下所示:
import util.Util; ... Util.convertTime(...);
但是,我做的越多,我最终会得到的文件越多,将一个函数放入文件中似乎有点浪费/愚蠢,特别是当函数很小时.还有另一种选择吗?或者这两个选项是我唯一的选择吗?
更新:经过一些研究,我也在下面发布了自己的答案.
是的,这些是实用程序库的两个主要选项.实际上,我们将这两种方法用于通用实用程序功能.对于我们认为应该实际构建的一小部分函数(例如map()),我们为每个文件放置一个函数,以便我们可以直接使用该函数.
对于更加模糊/专用的实用程序函数,我们不希望污染我们的全局命名空间,因此我们将它们作为实用程序类的静态函数.这样,我们确信当有人引用ArrayUtils.intersect()时,我们知道库的intersect()来自哪个,以及它的大致含义(它与两个数组相交).
我建议尽可能地使用后一种路线,除非你有一个功能,a)你经常使用和b)真的很明显它一目了然.