Sobes.tech
Junior

Was ist ein Singleton?

sobes.tech KI

Antwort von AI

Singleton ist ein Erzeugungsmuster, das garantiert, dass eine Klasse nur eine Instanz hat, und bietet einen globalen Zugriffspunkt darauf.

Vorteile:

  • Kontrolle über die einzige Instanz.
  • Globaler Zugriffspunkt.
  • Lazy-Initialisierung (falls implementiert).

Nachteile:

  • Verletzung des Prinzips der Einzelverantwortung.
  • Erschwert das Testen.
  • Kann in Multithread-Umgebungen ohne Synchronisation Probleme verursachen.

Typische Implementierung in Swift:

class Singleton {  
    // Statische Konstante zur Speicherung der einzigen Instanz
    static let shared = Singleton()  

    // Privater Initialisierer, um die Erstellung weiterer Instanzen zu verhindern
    private init() {  
        // Zusätzliche Konfiguration, falls erforderlich  
        print("Singleton-Instanz erstellt")  
    }  

    // Beispielmethode des Singletons  
    func doSomething() {  
        print("Singleton macht etwas")  
    }  
}  

Verwendung:

// Zugriff auf die einzige Instanz über die statische Eigenschaft
let instance = Singleton.shared  
instance.doSomething()  
  
// Versuch, eine andere Instanz zu erstellen, führt zu einem Kompilierungsfehler
// let anotherInstance = Singleton() // Fehler!