Was ist der beste Weg, um Funktionen in der Flex -MVC -Umgebung wiederzuverwenden?
-
06-07-2019 - |
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?
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.