Sobes.tech
Junior — Middle

Care este scopul principal al pattern-ului Singleton și în ce cazuri se aplică?

sobes.tech AI

Răspuns de la AI

Modelul Singleton garantează că o clasă are o singură instanță și oferă un punct de acces global la acea instanță. Acest lucru este util atunci când trebuie controlat accesul la o resursă, cum ar fi o bază de date, setările aplicației sau un logger.

Se aplică Singleton atunci când:

  • Este necesar să se limiteze crearea obiectelor la o singură instanță.
  • Este necesar un control centralizat al stării sau resurselor.
  • Este necesar să se asigure accesul global la obiect fără a-l transmite ca parametru.

Exemplu în PHP:

class Singleton {
    private static ?Singleton $instance = null;

    private function __construct() {
        // constructor privat
    }

    public static function getInstance(): Singleton {
        if (self::$instance === null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
}

// Utilizare
$instance = Singleton::getInstance();