Frage

Ich verwende eine Cairngorm -MVC -Architektur für mein aktuelles Projekt.

Ich habe mehrere Befehle, die dieselbe Funktionstyp verwenden, die einen Wert zurückgibt. Ich möchte diese Funktion an einem Ort haben und sie wiederverwenden, anstatt den Code in jedem Befehl zu duplizieren. Was ist der beste Weg, dies zu tun?

War es hilfreich?

Lösung

Erstellen Sie eine statische Klassen- oder statische Methode in einer Ihrer Cairngorm -Klassen.

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

Dann, wo Sie Ihre Funktion verwenden möchten:

import MyStatic;

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

Eine andere Option besteht darin, eine Funktion auf höchster Ebene zu erstellen (a la "Trace"). Schauen Sie sich diesen Beitrag an, den ich geschrieben habe hier.

Andere Tipps

Hier haben Sie viele Optionen - öffentlich definierte Funktionen in Ihrem Modell oder Controller, wie z. B.:

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

... Statische Methoden zu neuen oder vorhandenen Klassen usw. Die Best Practice hängt jedoch wahrscheinlich davon ab, was die Funktion tun muss. Kannst du näher erläutern?

Erstellen Sie eine abstrakte Basisklasse für Ihre Befehle und fügen Sie Ihre Funktion im geschützten Bereich hinzu. Wenn Sie es irgendwohin wiederverwenden müssen, wenden Sie sich an eine öffentliche statische Methode in einer Versorgungsklasse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top