Sobes.tech
Junior — Middle

Jaký je hlavní cíl vzoru Singleton a v jakých případech se používá?

sobes.tech AI

Odpověď od AI

Vzor Singleton zajišťuje, že třída má pouze jednu instanci a poskytuje globální přístup k této instanci. To je užitečné, když je třeba kontrolovat přístup k nějakému zdroji, například k databázi, nastavením aplikace nebo loggeru.

Používá se Singleton, když:

  • Je třeba omezit vytváření objektů na jednu instanci.
  • Je potřeba centralizovaná kontrola stavu nebo zdrojů.
  • Je nutné zajistit globální přístup k objektu bez jeho předávání jako parametru.

Příklad v PHP:

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

    private function __construct() {
        // soukromý konstruktor
    }

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

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