Suche…


Bemerkungen

Das Singleton-Pattern hat das Ziel, zu einem bestimmten Zeitpunkt nur eine Instanz einer Klasse zuzulassen.

Die direkte Instantiierung über den Konstruktor zu verhindern, wird in der Regel verhindert, indem sie als privat gekennzeichnet wird. Dies ist jedoch in As3 nicht möglich, und daher müssen andere Möglichkeiten zur Steuerung der Anzahl von Instanzen verwendet werden.

Singleton-Erzwinger über private Instanz

Bei diesem Ansatz wird auf die Single über die statische Methode zugegriffen:

Singleton.getInstance();

Um nur eine Instanz des Singleton zu erzwingen, behält eine private statische Variable die Instanz bei, während weitere Versuche, eine Instanz zu instanziieren, innerhalb des Konstruktors erzwungen werden.

package {

public class Singleton {

    /** Singleton instance */
    private static var _instance: Singleton = new Singleton();

    /** Return singleton instance. */
    public static function getInstance():Singleton {
        return _instance;
    }

    /** Constructor as singleton enforcer. */
    public function Singleton() {
        if (_instance)
            throw new Error("Singleton is a singleton and can only be accessed through Singleton.getInstance()");
    }

}
}


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow