カテゴリー別アーカイブ: Singleton

シングルトンパターン

Javaだとこんな感じ…

//1. 拡張継承により, 複数のインスタンスが生成されてしまうのを防ぐ
final class Singleton {
    //2. クラス定義時にインスタンスを生成して, かつ, クラス(static) プロパティとして保持することで, マルチスレッドにおいてもインスタンスが1つしかないことを保証する
    private static Singleton instance = new Singleton();

    //3. 外部からコンストラクタを呼べないように, private
    private Singleton() {
    }

    //4. ただ1つのインスタンスを取得するクラス (static) メソッド (外部から直接インスタンスにはアクセスできないので)
    public static Singleton getInstance() {
        return Singleton.instance;
    }
}