Padrão de Design - Padrão Singleton

O padrão Singleton é um dos padrões de design mais simples em Java. Esse tipo de padrão de design está incluído no padrão de criação, pois esse padrão fornece uma das melhores maneiras de criar um objeto.

Este padrão envolve uma única classe que é responsável por criar um objeto enquanto garante que apenas um único objeto seja criado. Esta classe fornece uma maneira de acessar seu único objeto que pode ser acessado diretamente sem a necessidade de instanciar o objeto da classe.

Implementação

Vamos criar uma classe SingleObject . A classe SingleObject tem seu construtor como privado e tem uma instância estática de si mesma.

A classe SingleObject fornece um método estático para levar sua instância estática para o mundo externo. SingletonPatternDemo , nossa classe de demonstração usará a classe SingleObject para obter um objeto SingleObject .

Passo 1

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

Passo 2

Obtenha o único objeto da classe 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();
   }
}

etapa 3

Verifique a saída.

Hello World!