Sök…


Anmärkningar

Singletonmönstret har målet att tillåta att endast en instans av en klass existerar vid en given tidpunkt.

Att förhindra direkt inställning via konstruktör förhindras vanligtvis genom att göra det privat. Detta är dock inte möjligt i As3 och därmed måste andra sätt att kontrollera antalet instanser användas.

Singleton-verkställare via privat instans

I detta tillvägagångssätt åtgår singeln via den statiska metoden:

Singleton.getInstance();

För att tvinga fram endast en instans av singleton behåller en privat statisk variabel förekomsten, medan ytterligare försök att instansera en instans verkställs i konstruktören.

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow