Sobes.tech
Junior — Middle

Care este scopul pattern-ului Singleton în arhitectura software?

sobes.tech AI

Răspuns de la AI

Modelul Singleton este conceput pentru a asigura că există o singură instanță a unei clase în aplicație. Acest lucru este util atunci când trebuie gestionat centralizat accesul la o resursă, cum ar fi o bază de date sau o configurație.

Caracteristicile principale ale Singleton:

  • Asigură o singură instanță a clasei.
  • Oferă un punct de acces global la această instanță.

Exemplu în PHP:

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

    private function __construct() {
        // constructor privat care împiedică crearea de instanțe din exterior
    }

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

    public function doSomething() {
        echo "Executarea unei acțiuni";
    }
}

// Utilizare
$singleton = Singleton::getInstance();
$singleton->doSomething();

Astfel, Singleton ajută la controlul creării obiectelor și previne duplicarea resurselor.