我正在为我当前的项目使用 Cairngorm MVC 架构。
我有几个命令使用相同类型的返回值的函数。我想把这个函数放在一个地方,并重用它,而不是在每个命令中复制代码。做这个的最好方式是什么?
我正在为我当前的项目使用 Cairngorm MVC 架构。
我有几个命令使用相同类型的返回值的函数。我想把这个函数放在一个地方,并重用它,而不是在每个命令中复制代码。做这个的最好方式是什么?
您在这里有很多选择——在您的模型或控制器中公开定义的函数,例如:
var mySharedFunction:Function = function():void
{
trace("foo");
}
... 新类或现有类的静态方法等。不过,最佳实践可能取决于函数需要做什么。你能详细说明吗?
为您的命令创建一个抽象基类并将您的函数添加到受保护的范围内。如果您需要在其他任何地方重用它,请将其重构为实用程序类的公共静态方法。
在您的 Cairngorm 类之一中创建静态类或静态方法。
class MyStatic
{
public static function myFunction(value:String):String
{
return "Returning " + value;
}
}
然后你想在哪里使用你的功能:
import MyStatic;
var str:String = MyStatic.myFunction("test");
另一种选择是创建一个顶级函数(la “trace”)。看看我在这里写的这篇文章。