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() выводит на консоль строку "Привет Мир!".

Похожие вопросы на: "java singleton "

Генератор случайных имён
Visual Studio Code для Python - удобная среда для разработки
Java: Как конвертировать строку в тип double?
Requirement Already Satisfied
Array Shift: изменение порядка элементов на JavaScript
Как выровнять текст по центру с помощью CSS
Триггеры MySQL
<h1>jQuery Hide Show
Bigint SQL
Contains SQL: Essential Guide to SQL Programming and Database Management