Junior — Middle
Co je to vzorec Singleton a jaké jsou jeho výhody a nevýhody, které je třeba zvážit?
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.
Výhody:
- Kontrola nad vytvářením jediného objektu.
- Pohodlný přístup ke sdíleným zdrojům nebo nastavením.
Nevýhody:
- Může vést k problémům s testováním kvůli globálnímu stavu.
- Porušuje princip inverze závislostí a může ztížit údržbu.
- V prostředích s více vlákny vyžaduje dodatečnou synchronizaci.
Příklad v Swift pro iOS:
class Singleton {
static let shared = Singleton()
private init() { }
func doSomething() {
print("Provádění akce")
}
}
// Použití
Singleton.shared.doSomething()