Sobes.tech
Junior — Middle

Jaký je účel vzoru Singleton v softwarové architektuře?

sobes.tech AI

Odpověď od AI

Vzorec Singleton je navrhnutý tak, aby zabezpečil, že v aplikácii existuje iba jedna inštancia triedy. Je to užitočné, keď je potrebné centralizovane riadiť prístup ku zdroju, ako je databáza alebo konfigurácia.

Hlavné vlastnosti Singleton:

  • Zaručuje jedinú inštanciu triedy.
  • Poskytuje globálny prístupový bod k tejto inštancii.

Príklad v PHP:

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

    private function __construct() {
        // súkromný konštruktor zakazuje vytváranie inštancií zvonku
    }

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

    public function doSomething() {
        echo "Vykonávanie akcie";
    }
}

// Použitie
$singleton = Singleton::getInstance();
$singleton->doSomething();

Týmto spôsobom Singleton pomáha kontrolovať tvorbu objektov a zabraňuje duplikácii zdrojov.