Junior
Wat is een singleton?
sobes.tech AI
Antwoord van AI
Singleton is een creational design pattern dat garandeert dat een klasse slechts één instantie heeft en een globaal toegangspunt tot die instantie biedt.
Voordelen:
- Controle over de enige instantie.
- Globaal toegangspunt.
- Lui initialisatie (indien geïmplementeerd).
Nadelen:
- Schendt het principe van enkele verantwoordelijkheid.
- Maakt testen moeilijker.
- Kan problemen veroorzaken in multithread-omgevingen zonder synchronisatie.
Typische implementatie in Swift:
class Singleton {
// Statische constante voor het opslaan van de enige instantie
static let shared = Singleton()
// Privé constructor om het maken van andere instanties te voorkomen
private init() {
// Extra configuratie indien nodig
print("Singleton instantie gemaakt")
}
// Voorbeeld van een singleton-methode
func doSomething() {
print("Singleton doet iets")
}
}
Gebruik:
// Toegang tot de enige instantie via de statische eigenschap
let instance = Singleton.shared
instance.doSomething()
// Proberen een andere instantie te maken zal een compileerfout veroorzaken
// let anotherInstance = Singleton() // Fout!