Junior — Middle
Каква е основната цел на патърна Singleton и в кои случаи се прилага?
sobes.tech AI
Отговор от 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();