Question

J'utilise une architecture Cairngorm MVC pour mon projet actuel.

J'ai plusieurs commandes qui utilisent le même type de fonction qui renvoie une valeur. J'aimerais avoir cette fonction dans un endroit et la réutiliser plutôt que de dupliquer le code dans chaque commande. Quelle est la meilleure façon de faire cela?

Était-ce utile?

La solution

Créez une classe statique ou une méthode statique dans l'une de vos classes Cairngorm.

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

Puis où vous voulez utiliser votre fonction:

import MyStatic;

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

Une autre option consiste à créer une fonction de niveau supérieur (à la "trace"). Découvrez ce message que j'ai écrit ici .

Autres conseils

Vous avez beaucoup d'options ici - des fonctions définies publiquement dans votre modèle ou votre contrôleur, telles que:

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

... méthodes statiques sur des classes nouvelles ou existantes, etc. La meilleure pratique dépend probablement de ce que la fonction doit faire, cependant. Pouvez-vous élaborer?

Créez une classe de base abstraite pour vos commandes et ajoutez votre fonction dans la portée protégée. Si vous avez besoin de le réutiliser ailleurs, refacturez-le dans une méthode statique publique sur une classe d'utilitaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top