Zoeken…


Opmerkingen

Het singleton-patroon heeft als doel om op elk willekeurig moment slechts één instantie van een klasse te laten bestaan.

Het voorkomen van directe instantiatie via constructor wordt meestal voorkomen door het privé te maken. Dit is echter niet mogelijk in As3 en daarom moeten andere manieren worden gebruikt om het aantal instanties te regelen.

Singleton-handhaver via privé-instantie

In deze benadering wordt de single benaderd via de statische methode:

Singleton.getInstance();

Om slechts één instantie van de singleton af te dwingen, behoudt een statische privévariabele de instantie, terwijl extra pogingen om een instantie te instantiëren binnen de constructor worden afgedwongen.

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow