Junior
Co je to vzorec Singleton?
sobes.tech AI
Odpověď od AI
Singleton je návrhový vzor vytvárania, ktorý zaručuje, že v každom momente bude existovať iba jedna inštancia triedy, ktorá bude dostupná globálne. Používa sa na centralizované riadenie zdrojov alebo konfigurácií.
Príklad implementácie v Swift:
class Singleton {
static let shared = Singleton() // Statická vlastnosť pre jedinú inštanciu
private init() { // Súkromný konštruktor, ktorý zabraňuje vytváraniu nových inštancií zvonku
// Konfigurácia singletonu
}
func someMethod() {
// Logika singletonu
}
}
// Použitie singletonu
let instance = Singleton.shared
instance.someMethod()
Výhody:
- Zaručuje, že existuje iba jedna inštancia.
- Jednotný prístupový bod k inštancii.
Nevýhody:
- Môže sťažiť testovanie (ťažko nahradiť mockom).
- Porušuje princíp jednotnej zodpovednosti (trieda spravuje svoju logiku a správu inštancie).
- Potenciálne môže spôsobovať problémy s viacvláknovým spracovaním, ak nie je synchronizované.