Design Pattern - Singleton Pattern

Il modello Singleton è uno dei modelli di progettazione più semplici in Java. Questo tipo di modello di progettazione rientra nel modello di creazione poiché questo modello fornisce uno dei modi migliori per creare un oggetto.

Questo modello coinvolge una singola classe che è responsabile della creazione di un oggetto assicurandosi che venga creato solo un singolo oggetto. Questa classe fornisce un modo per accedere al suo unico oggetto a cui è possibile accedere direttamente senza bisogno di istanziare l'oggetto della classe.

Implementazione

Creeremo una classe SingleObject . La classe SingleObject ha il suo costruttore come privato e ha un'istanza statica di se stessa.

La classe SingleObject fornisce un metodo statico per ottenere la sua istanza statica nel mondo esterno. SingletonPatternDemo , la nostra classe demo utilizzerà la classe SingleObject per ottenere un oggetto SingleObject .

Passo 1

Crea una 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

Ottieni l'unico oggetto dalla 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();
   }
}

Passaggio 3

Verifica l'output.

Hello World!