Sobes.tech
Junior — Middle

Aký je hlavný cieľ vzoru Singleton a v akých prípadoch sa používa?

sobes.tech AI

Odpoveď od AI

Vzor Singleton zabezpečuje, že trieda má iba jednu inštanciu a poskytuje globálny prístup k tejto inštancii. Je užitočný, keď je potrebné kontrolovať prístup k zdroju, ako je databáza, nastavenia aplikácie alebo logger.

Používa sa Singleton, keď:

  • Je potrebné obmedziť vytváranie objektov na jednu inštanciu.
  • Je potrebná centralizovaná kontrola stavu alebo zdrojov.
  • Je potrebné zabezpečiť globálny prístup k objektu bez jeho odovzdania ako parametra.

Príklad v PHP:

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

    private function __construct() {
        // súkromný konštruktor
    }

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

// Použitie
$instance = Singleton::getInstance();