Junior
Mis on singleton?
sobes.tech AI
Vastus AI-lt
Singleton on loomise muster, mis tagab, et klassil on ainult üks eksemplar ning pakub sellele globaalse juurdepääsu punkti.
Eelised:
- Kontroll ühe eksemplari üle.
- Globaalne juurdepääsupunkt.
- Hoolikas initsialiseerimine (kui see on rakendatud).
Miinused:
- Rikkub üksuse vastutuse põhimõtet.
- Raskendab testimist.
- Võib põhjustada probleeme mitme niidiga keskkondades ilma sünkroniseerimiseta.
Tüüpiline rakendus Swiftis:
class Singleton {
// Staatiline konstant, mis hoiab ainukese eksemplari
static let shared = Singleton()
// Privaatne konstruktor, et vältida teiste eksemplaride loomist
private init() {
// Täiendav konfiguratsioon, kui vajalik
print("Singletoni eksemplar loodud")
}
// Näide singleton meetodist
func doSomething() {
print("Singleton teeb midagi")
}
}
Kasutus:
// Ainuüksi eksemplarile juurdepääs läbi staatilise omaduse
let instance = Singleton.shared
instance.doSomething()
// Katse luua teine eksemplar põhjustab kompileerimisvea
// let anotherInstance = Singleton() // Viga!