Junior — Middle
Koks yra pagrindinis Singleton šablono tikslas ir kokiais atvejais jis taikomas?
sobes.tech AI
Atsakymas iš AI
Singleton šablonas užtikrina, kad klasė turės tik vieną egzempliorių ir suteikia globalų prieigos tašką prie šio egzemplioriaus. Tai naudinga, kai reikia kontroliuoti prieigą prie ištekliaus, pavyzdžiui, duomenų bazės, programos nustatymų ar žurnalo.
Singleton taikomas, kai:
- Reikia apriboti objektų kūrimą vienu egzemplioriumi.
- Reikalinga centralizuota būsenos ar išteklių kontrolė.
- Reikia užtikrinti globalią prieigą prie objekto be jo perdavimo kaip parametro.
Pavyzdys PHP:
class Singleton {
private static ?Singleton $instance = null;
private function __construct() {
// privačios konstrukcijos
}
public static function getInstance(): Singleton {
if (self::$instance === null) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
// Naudojimas
$instance = Singleton::getInstance();