Sobes.tech
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();