Ricerca…


Osservazioni

Il modello singleton ha l'obiettivo di consentire l'esistenza di una sola istanza di una classe in qualsiasi momento.

Prevenire l'istanziazione diretta tramite il costruttore di solito impedisce di renderlo privato. Tuttavia, questo non è possibile in As3 e quindi altri modi per controllare il numero di istanze devono essere utilizzati.

Singleton enforcer tramite istanza privata

In questo approccio, il singolo è accessibile tramite il metodo statico:

Singleton.getInstance();

Per applicare solo un'istanza del singleton, una variabile statica privata conserva l'istanza, mentre eventuali ulteriori tentativi di istanziazione di un'istanza vengono applicati all'interno del costruttore.

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow