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();