Singleton (одиночка)
Паттерн проектирования: гарантирует, что у класса во всей программе есть ровно один экземпляр.
Классические примеры — подключение к базе данных, конфигурация, логгер. Паттерн критикуют за то, что он прячет зависимости и усложняет тестирование: по сути это глобальная переменная в приличном костюме. Поэтому сегодня многие вместо него говорят о внедрении зависимостей.