Pergunta

Estou usando uma arquitetura MVC de CairnGorm para o meu projeto atual.

Eu tenho vários comandos que usam o mesmo tipo de função que retorna um valor. Eu gostaria de ter essa função em um só lugar e reutilizá -la, em vez de duplicar o código em cada comando. Qual é a melhor maneira de fazer isso?

Foi útil?

Solução

Crie uma classe estática ou método estático em uma de suas classes de Cairngorm.

class MyStatic
{
    public static function myFunction(value:String):String
    {
        return "Returning " + value;
    }
}

Então, onde você deseja usar sua função:

import MyStatic;

var str:String = MyStatic.myFunction("test");

Outra opção é criar uma função de nível superior (a la "rastreio"). Confira este post que escrevi aqui.

Outras dicas

Você tem muitas opções aqui - funções definidas publicamente em seu modelo ou controlador, como:

var mySharedFunction:Function = function():void
{
   trace("foo");
}

... Métodos estáticos em classes novas ou existentes, etc. As melhores práticas provavelmente depende do que a função precisa fazer. Você pode elaborar?

Crie uma classe base abstrata para seus comandos e adicione sua função no escopo protegido. Se você precisar reutilizá -lo em qualquer outro lugar, refatore -o em um método estático público em uma classe de utilitário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top