Sobes.tech
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!