第5回 Singleton

NO IMAGE

こんにちわ。ぼんじりです。

 

今、サッカーのアジアカップとテニスの全豪オープンがやってますね。

とても見たいのですが、放送時間が・・・残念極まりないです。

 

久しぶりになりますが、デザインパターンの続きを書いていこうと思います。

 

第5回目はSingleton~たった一つのインスタンス~です。副題がつくとかっこいいですねw

 

Singletonでやりたいことは指定したクラスのインスタンスが絶対に1個しか存在しないことを保証することです。

 

実装はとても簡単。

コンストラクタをprivateにします。そして、Singletonクラスの唯一のインスタンスを得るメソッドとして、

getInstanceなるstaticメソッドを用意します。

 

最初にこのgetInstanceメソッドを呼び出したタイミングでstaticフィールドの初期化が行われます。

<sample>

public class Singleton {

      private static Singleton singleton = new Singleton();

      private Singleton(){

            System.out.println(“create instance!”);

      }

      public static Singleton getInstance(){

            return singleton;

      }

}

 

これだけで1つのインスタンスが保障されるそうです。簡単ですね。

あとは使いどころをしっかりと判断できるかが問題ですね。

 

では。