Domanda

Sto usando un'architettura Cairngorm MVC per il mio progetto attuale.

Ho diversi comandi che usano lo stesso tipo di funzione che restituisce un valore. Vorrei avere questa funzione in un posto e riutilizzarla, piuttosto che duplicare il codice in ogni comando. Qual è il modo migliore per farlo?

È stato utile?

Soluzione

Crea una classe statica o un metodo statico in una delle tue classi Cairngorm.

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

Quindi dove vuoi usare la tua funzione:

import MyStatic;

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

Un'altra opzione è quella di creare una funzione di livello superiore (a la " trace "). Dai un'occhiata a questo post che ho scritto qui .

Altri suggerimenti

Qui hai molte opzioni: funzioni definite pubblicamente nel tuo modello o controller, come:

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

... metodi statici su classi nuove o esistenti, ecc. Le migliori pratiche probabilmente dipendono da cosa deve fare la funzione. Puoi elaborare?

Crea una classe base astratta per i tuoi comandi e aggiungi la tua funzione nell'ambito protetto. Se è necessario riutilizzarlo in qualsiasi altro luogo, trasformarlo in un metodo statico pubblico su una classe di utilità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top