Синглтон

Синглтон (Singleton, «Одиночка») - это паттерн проектирования, который гарантирует создание только одного экземпляра класса и предоставляет глобальную точку доступа к нему из любой части программы, что идеально для управления общими ресурсами, вроде конфигурации или логгера, но требует осторожности из-за риска создания «глобального состояния» в коде. Реализуется обычно приватным конструктором и статическим методом, который возвращает существующий объект или создает новый при первом обращении (ленивая инициализация).