Java Singleton: Описание, Плюсы, Минусы
Java Singleton - это паттерн проектирования, который гарантирует, что в системе будет существовать только один экземпляр класса, и предоставляет глобальную точку доступа к нему.
Рекомендуется создать Singleton-класс в 3 шага:
1. Создание приватного статического экземпляра класса Singleton:
private static Singleton instance;
2. Приватный конструктор, который запрещает создание экземпляров вне класса:
private Singleton() {}
3. Предоставление глобальной точки доступа к единственному экземпляру класса через статический метод getInstance(). Если экземпляр еще не был создан, создать его:
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
Одним из преимуществ Singleton-паттерна является то, что он обеспечивает единственную точку доступа к экземпляру класса, которая может быть использована для управления настройками и/или состоянием объекта. Более того, Singleton может использоваться для уменьшения количества ресурсов, потребляемых системой, так как объект создается только один раз.
Пример кода:
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
public void showMessage(){
System.out.println("Привет Мир!");
}
}
public class SingletonDemo {
public static void main(String[] args) {
Singleton object = Singleton.getInstance();
object.showMessage();
}
}
В этом примере объект Singleton создается при первом вызове метода getInstance(). Один и тот же объект будет использоваться при последующих вызовах метода getInstance(). Метод showMessage() выводит на консоль строку "Привет Мир!".