サーチ…


備考

シングルトンパターンは、ある時点でクラスのインスタンスが1つしか存在しないようにするという目標を持っています。

コンストラクタによる直接インスタンス化の防止は、通常、それを非公開にすることによって防止します。しかし、これはAs3では不可能であり、インスタンスの数を制御する他の方法を使用する必要があります。

プライベートインスタンスを介したシングルトン執行者

この方法では、静的メソッドを使用してシングルにアクセスします。

Singleton.getInstance();

シングルトンのインスタンスを1つだけ強制するために、プライベート静的変数はインスタンスを保持し、インスタンスをインスタンス化する追加の試みはコンストラクタ内で強制されます。

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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow