Wzorzec projektowy - wzorzec singletonowy

Wzorzec singleton jest jednym z najprostszych wzorców projektowych w Javie. Ten typ wzorca projektowego wchodzi w zakres wzorca kreacyjnego, ponieważ ten wzorzec zapewnia jeden z najlepszych sposobów tworzenia obiektu.

Ten wzorzec obejmuje jedną klasę, która jest odpowiedzialna za utworzenie obiektu, zapewniając jednocześnie, że zostanie utworzony tylko jeden obiekt. Ta klasa zapewnia dostęp do jedynego obiektu, do którego można uzyskać dostęp bezpośrednio, bez konieczności tworzenia instancji obiektu tej klasy.

Realizacja

Mamy zamiar utworzyć klasę SingleObject . Klasa SingleObject ma konstruktor jako prywatny i ma swoją statyczną instancję.

Klasa SingleObject udostępnia statyczną metodę pobierania jej statycznej instancji do świata zewnętrznego. SingletonPatternDemo , nasza klasa demonstracyjna użyje klasy SingleObject do pobrania obiektu SingleObject .

Krok 1

Utwórz klasę singletonową.

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

Krok 2

Pobierz jedyny obiekt z klasy 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();
   }
}

Krok 3

Sprawdź dane wyjściowe.

Hello World!