Junior — Middle
Vysvetlite koncept vzoru Singleton a jeho hlavné vlastnosti.
sobes.tech AI
Odpoveď od AI
Vzor Singleton zabezpečuje, že trieda má iba jeden inštanciu a poskytuje globálny prístup k tejto inštancii. Je to užitočné, keď je potrebné centralizovane spravovať stav alebo zdroje, napríklad pri práci s nastaveniami aplikácie alebo správcom databázy.
Hlavné vlastnosti Singletonu:
- Len jedna inštancia: trieda kontroluje vytváranie objektu a neumožňuje vytvoriť viac ako jeden.
- Globálna dostupnosť: inštancia je dostupná z ktorejkoľvek časti programu prostredníctvom statickej metódy alebo vlastnosti.
- Líná inicializácia: objekt je vytvorený pri prvom prístupe (lazy initialization).
Príklad implementácie Singleton v Dart (Flutter):
class Singleton {
Singleton._privateConstructor();
static final Singleton _instance = Singleton._privateConstructor();
factory Singleton() {
return _instance;
}
void someMethod() {
print('Volanie metódy Singleton');
}
}
void main() {
var s1 = Singleton();
var s2 = Singleton();
print(identical(s1, s2)); // true
}
Tu je konštruktor súkromný a prístup k inštancii je cez továrenský konštruktor, ktorý vždy vráti ten istý objekt.