Design-pattern-singleton-pattern

提供:Dev Guides
移動先:案内検索

デザインパターン-シングルトンパターン

シングルトンパターンは、Javaで最も単純なデザインパターンの1つです。 このタイプのデザインパターンは、オブジェクトを作成する最適な方法の1つであるため、作成パターンの下にあります。

このパターンには、1つのオブジェクトのみが作成されるようにしつつ、オブジェクトを作成する単一のクラスが含まれます。 このクラスは、クラスのオブジェクトをインスタンス化せずに直接アクセスできる唯一のオブジェクトにアクセスする方法を提供します。

実装

_SingleObject_クラスを作成します。 _SingleObject_クラスのコンストラクターはprivateであり、静的インスタンスを持っています。

SingleObject_クラスは、静的インスタンスを外部に取得する静的メソッドを提供します。 _SingletonPatternDemo、デモクラスは_SingleObject_クラスを使用して_SingleObject_オブジェクトを取得します。

シングルトンパターンUML図

ステップ1

シングルトンクラスを作成します。

SingleObject.java

public class SingleObject {

  //create an object of SingleObject
   private static SingleObject instance = new SingleObject();

  //make the constructor private so that this class cannot be
  //instantiated
   private SingleObject(){}

  //Get the only object available
   public static SingleObject getInstance(){
      return instance;
   }

   public void showMessage(){
      System.out.println("Hello World!");
   }
}

ステップ2

シングルトンクラスから唯一のオブジェクトを取得します。

SingletonPatternDemo.java

public class SingletonPatternDemo {
   public static void main(String[] args) {

     //illegal construct
     //Compile Time Error: The constructor SingleObject() is not visible
     //SingleObject object = new SingleObject();

     //Get the only object available
      SingleObject object = SingleObject.getInstance();

     //show the message
      object.showMessage();
   }
}

ステップ3

出力を確認します。

Hello World!