Mẫu thiết kế - Mẫu Singleton

Singleton pattern là một trong những mẫu thiết kế đơn giản nhất trong Java. Loại mẫu thiết kế này thuộc mẫu sáng tạo vì mẫu này cung cấp một trong những cách tốt nhất để tạo một đối tượng.

Mẫu này liên quan đến một lớp duy nhất chịu trách nhiệm tạo một đối tượng trong khi đảm bảo rằng chỉ một đối tượng duy nhất được tạo. Lớp này cung cấp một cách để truy cập đối tượng duy nhất của nó có thể được truy cập trực tiếp mà không cần khởi tạo đối tượng của lớp.

Thực hiện

Chúng ta sẽ tạo một lớp SingleObject . Lớp SingleObject có hàm tạo của nó là private và có một thể hiện tĩnh của chính nó.

Lớp SingleObject cung cấp một phương thức tĩnh để đưa thể hiện tĩnh của nó ra thế giới bên ngoài. SingletonPatternDemo , lớp demo của chúng ta sẽ sử dụng lớp SingleObject để lấy một đối tượng SingleObject .

Bước 1

Tạo một lớp Singleton.

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!");
   }
}

Bước 2

Lấy đối tượng duy nhất từ ​​lớp singleton.

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();
   }
}

Bước 3

Xác minh kết quả đầu ra.

Hello World!