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

シングルトンパターンは、Javaで最も単純なデザインパターンの1つです。このタイプのデザインパターンは、オブジェクトを作成するための最良の方法の1つを提供するため、作成パターンに分類されます。

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

実装

SingleObjectクラスを作成します。SingleObjectクラスには、そのコンストラクターがプライベートであり、それ自体の静的インスタンスがあります。

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

ステップ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!