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!