ActionScript 3
Singleton Pattern
Szukaj…
Uwagi
Wzorzec singletonu ma na celu umożliwienie istnienia tylko jednego wystąpienia klasy w danym momencie.
Zapobieganie bezpośredniemu tworzeniu instancji za pomocą konstruktora zwykle zapobiega się przez ustawienie go jako prywatnego. Nie jest to jednak możliwe w As3, dlatego należy zastosować inne sposoby kontrolowania liczby instancji.
Egzekwator Singleton za pośrednictwem prywatnej instancji
W tym podejściu dostęp do singla uzyskuje się metodą statyczną:
Singleton.getInstance();
Aby wymusić tylko jedno wystąpienie singletonu, prywatna zmienna statyczna zachowuje to wystąpienie, zaś wszelkie dodatkowe próby utworzenia wystąpienia są wymuszane w konstruktorze.
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow