kakke18’s blog

ゆるふわ学生エンジニア

Singleton-たった一つのインスタンス-

Java言語で学ぶデザインパターン入門 の第5章を参考にしました。

Singleton Methodパターンとは

本書には以下のように記載されています。

インスタンスが1個しか存在しないことを保証するパターン

つまり、生成するインスタンスの数を1つに制限するデザインパターンです。

実装

こちらを参考にしてください。

一般的な例

public class Singleton {
    // (1)
    private static Singleton singlton = new Singleton();
    // (2)
    private Singleton() {
        System.out.println("インスタンスを生成しました。");
    }
    // (3)
    public static Singleton getInstance() {
        return singlton;
    }
}

Singletonパターンを適用するために以下のようなルールがあります。

  • (1) 自身のクラス変数として、自身のインスタンスを保持
  • (2) 外部から生成されないように、コンストラクタはprivate
  • (3) 唯一のインスタンスを得るためのstaticメソッドを保持

Singleton Methodパターンを使うメリット

本書には以下のように記載されています。

インスタンスが1つしかないという保証があれば、その前提条件の下でプログラミングできることになります

インスタンスが1個しか無い事を保証して何が良くなるのか正直よくわかりません...

まとめ

Singletonパターンとは、生成するインスタンスの数を1つに制限するデザインパターン

参考文献

Java言語で学ぶデザインパターン入門