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!