Junior
Ce este un singleton?
sobes.tech AI
Răspuns de la AI
Singleton este un pattern de design creational care garantează că o clasă are o singură instanță și oferă un punct de acces global la aceasta.
Avantaje:
- Control asupra singurei instanțe.
- Punct de acces global.
- Inițializare leneșă (dacă este implementată).
Dezavantaje:
- Încalcă principiul responsabilității unice.
- Îngreunează testarea.
- Poate crea probleme în medii multi-thread fără sincronizare.
Implementare tipică în Swift:
class Singleton {
// Constantă statică pentru stocarea singurei instanțe
static let shared = Singleton()
// Constructor privat pentru a preveni crearea altor instanțe
private init() {
// Configurare suplimentară, dacă este necesar
print("Instanța singleton creată")
}
// Exemplu de metodă singleton
func doSomething() {
print("Singleton face ceva")
}
}
Utilizare:
// Acces la singura instanță prin proprietatea statică
let instance = Singleton.shared
instance.doSomething()
// Încercarea de a crea o altă instanță va cauza o eroare de compilare
// let anotherInstance = Singleton() // Eroare!