Singleton, Observer, Factory, Adapter, Fassade, Proxy
Dieser Beitrag ist eine Begriffserklärung zu sechs häufigen Patterns – inklusive Prüfungsfragen, Beispiel und Tags.
In a Nutshell
Design Patterns liefern bewährte Lösungen für wiederkehrende Struktur- und Kommunikationsprobleme.
Kompakte Fachbeschreibung
- Singleton: genau eine Instanz (z.B. Konfiguration/Logger)
- Observer: Publish/Subscribe für Events (z.B. UI)
- Factory: kapselt Objekterzeugung
- Adapter: übersetzt inkompatible Schnittstellen
- Fassade: vereinheitlicht ein Subsystem hinter einer einfachen API
- Proxy: Stellvertreter zur Zugriffskontrolle, Caching, Logging, Lazy Loading
Prüfungsrelevante Stichpunkte
- Singleton: eine Instanz, globaler Zugriff
- Observer: Event-Entkopplung
- Factory: flexible Objekterzeugung (IHK-relevant)
- Adapter: Integration/Kompatibilität
- Fassade: vereinfachte API
- Proxy: Zugriffskontrolle/Caching (Sicherheit)
- Patterns dokumentieren und begründen
Kernkomponenten
- Singleton-Konstruktor
- Observer-Interface
- Factory
create() - Adapter-Mapping
- Fassade-API
- Proxy-Zugriffskontrolle
Praxisbeispiel (Singleton in Java)
public class ConfigManager {
private static ConfigManager instance;
private ConfigManager() {}
public static ConfigManager getInstance() {
if (instance == null) {
instance = new ConfigManager();
}
return instance;
}
}
Vorteile und Nachteile
Vorteile
- Wiederverwendbare Lösungen
- Bewährte Strukturen
- Bessere Kommunikation im Team
Nachteile
- Falscher Einsatz → Komplexität
- Singleton kann Testing erschweren
- Observer kann Kaskaden erzeugen
Typische Prüfungsfragen (mit Kurzantwort)
- Ziel von Singleton? Genau eine Instanz.
- Wann Observer? Wenn mehrere Empfänger auf Änderungen reagieren sollen.
- Warum Factory statt
newüberall? Erstellungslogik zentralisieren und entkoppeln.