Назад к вопросам
Junior — Middle
107
Какова основная цель паттерна Singleton и в каких случаях его применяют?
Компании, где спрашивали
ИНДИНС
Ответ от нейросети
sobes.tech AI
Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Это полезно, когда нужно контролировать доступ к какому-то ресурсу, например, к базе данных, настройкам приложения или логгеру.
Применяют Singleton, когда:
- Нужно ограничить создание объектов одним экземпляром.
- Требуется централизованный контроль состояния или ресурсов.
- Необходимо обеспечить глобальный доступ к объекту без передачи его по параметрам.
Пример на PHP:
class Singleton {
private static ?Singleton $instance = null;
private function __construct() {
// приватный конструктор
}
public static function getInstance(): Singleton {
if (self::$instance === null) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
// Использование
$instance = Singleton::getInstance();