Junior
Kas ir singleton?
sobes.tech AI
Atbilde no AI
Singleton ir dizaina paraugs, kas garantē, ka klasei ir tikai viens eksemplārs un nodrošina globālu piekļuves punktu tam.
Priekšrocības:
- Kontrole pār vienīgo eksemplāru.
- Globāls piekļuves punkts.
- Lēna inicializācija (ja tā ir īstenota).
Trūkumi:
- Pārkāpj vienas atbildības principu.
- Grūtāk veikt testēšanu.
- Var radīt problēmas daudzšūnu vidēs bez sinhronizācijas.
Tipiska Swift realizācija:
class Singleton {
// Statiska konstante, kas glabā vienīgo eksemplāru
static let shared = Singleton()
// Privāts konstruktor, lai novērstu citu eksemplāru veidošanu
private init() {
// Papildu konfigurācija, ja nepieciešama
print("Singleton instances izveidots")
}
// Piemērs singleton metodes
func doSomething() {
print("Singleton dara kaut ko")
}
}
Lietošanā:
// Pieeja vienīgajam eksemplāram caur statisko īpašību
let instance = Singleton.shared
instance.doSomething()
// Mēģinājums izveidot citu eksemplāru radīs kompilācijas kļūdu
// let anotherInstance = Singleton() // Kļūda!