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