Junior
Šta je singleton?
sobes.tech АИ
Одговор од АИ
Singleton je obrazac za kreiranje koji garantuje da klasa ima samo jedan primerak i pruža globalnu tačku pristupa tom primerku.
Prednosti:
- Kontrola nad jedinstvenim primerkom.
- Globalna tačka pristupa.
- Lenja inicijalizacija (ako je implementirana).
Nedostaci:
- Krši princip jedinstvene odgovornosti.
- Komplikovanije testiranje.
- Može izazvati probleme u višestrukim nitima bez sinhronizacije.
Tipična implementacija u Swift-u:
class Singleton {
// Statička konstanta za skladištenje jedinstvenog primerka
static let shared = Singleton()
// Privatni konstruktor za sprečavanje kreiranja drugih primeraka
private init() {
// Dodatna konfiguracija, ako je potrebna
print("Singleton instanca kreirana")
}
// Primer metode singletona
func doSomething() {
print("Singleton radi nešto")
}
}
Upotreba:
// Pristup jedinstvenom primerku putem statičke osobine
let instance = Singleton.shared
instance.doSomething()
// Pokušaj kreiranja drugog primerka izazvaće grešku pri kompilaciji
// let anotherInstance = Singleton() // Greška!