Designpatterns

Überblick zu Entwurfsmustern

Diese Seite bietet eine Einführung in Entwurfsmuster, ihre Kategorien und ordnet häufige Muster wie Singleton, Observer, Factory, MVC und Facade ein.

Was sind Entwurfsmuster?

Entwurfsmuster (Design Patterns) sind wiederverwendbare Lösungsansätze für häufig auftretende Probleme in der Softwareentwicklung. Sie basieren auf bewährten Konzepten und helfen, strukturierte, flexible und wartbare Software zu schreiben.

Entwurfsmuster sind nicht fertiger Code, sondern Schablonen für gute Architekturentscheidungen.

Die drei Hauptkategorien

Entwurfsmuster werden in drei grundlegende Kategorien eingeteilt:

1. Erzeugungsmuster (Creational Patterns)

Diese Muster kümmern sich um die Erstellung von Objekten. Sie verbergen die Komplexität der Objekterzeugung und sorgen für Flexibilität und Kontrolle.

BeispielmusterZweck
SingletonStellt sicher, dass nur ein Objekt einer Klasse existiert
FactoryErzeugt Objekte abhängig von Parametern oder Bedingungen, ohne die konkrete Klasse zu kennen

2. Strukturmuster (Structural Patterns)

Diese Muster helfen dabei, Klassen und Objekte zu strukturieren, z. B. durch sinnvolle Kombination oder durch Vereinfachung von Schnittstellen.

BeispielmusterZweck
FacadeBietet eine einheitliche Schnittstelle zu einem komplexen Subsystem
MVC (Model-View-Controller)Trennt Datenmodell, Darstellung und Steuerung – klarere Struktur bei z. B. GUI-Anwendungen

3. Verhaltensmuster (Behavioral Patterns)

Diese Muster beschreiben, wie Objekte zusammenarbeiten und kommunizieren. Ziel ist es, den Informationsfluss und die Verantwortung zwischen Objekten klar zu regeln.

BeispielmusterZweck
ObserverSorgt dafür, dass mehrere Objekte automatisch benachrichtigt werden, wenn sich ein Objekt ändert

Übersicht: Zuordnung der Muster

EntwurfsmusterKategorieKurzbeschreibung
SingletonErzeugungsmusterEine einzige Instanz mit globalem Zugriff
FactoryErzeugungsmusterErzeugt Objekte je nach Bedarf
FacadeStrukturmusterVereinfachter Zugriff auf komplexes System
MVCStrukturmusterTeilt Software in Modell, Ansicht und Steuerung
ObserverVerhaltensmusterReaktive Benachrichtigung bei Zustandsänderung