Назад к вопросам
Junior
68
questionbank

Где можно применить паттерн Singleton?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

В сценариях, где требуется только один экземпляр класса во всей системе и этот экземпляр должен быть глобально доступен.

Примеры:

  • Управление логами: Единый экземпляр логгера для централизованного ведения журнала событий приложения.
    public class Logger {
        private static Logger instance;
    
        private Logger() {
            // Приватный конструктор для предотвращения создания экземпляров извне
        }
    
        public static Logger getInstance() {
            if (instance == null) {
                instance = new Logger();
            }
            return instance;
        }
    
        public void log(String message) {
            System.out.println("LOG: " + message);
        }
    }
    
  • Конфигурация приложения: Доступ к параметрам конфигурации из единого источника.
  • Пул потоков: Управление общим пулом потоков для выполнения задач.
  • Драйверы устройств: Если устройство поддерживает только одно подключение или экземпляр драйвера.
  • Фабрики: Для создания единственного экземпляра фабрики, отвечающей за создание других объектов.
  • Управление кэшем: Централизованное управление кэшем данных.