Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 2.07 KB

File metadata and controls

40 lines (27 loc) · 2.07 KB

Was ist ein Entwurfsmuster

Zurück


Entwurfsmuster sind typische Lösungen für häufig auftretende Probleme beim Softwareentwurf. Sie sind wie vorgefertigte Blaupausen, die Sie anpassen können, um ein wiederkehrendes Designproblem in Ihrem Code zu lösen.

Sie können ein Entwurfsmuster nicht einfach suchen und in Ihr Programm kopieren, wie dies bei Standardfunktionen oder Bibliotheken der Fall ist. Ein Muster ist kein spezielles Stück Quellcode, sondern ein allgemeines Konzept zur Lösung eines bestimmten Problems. Sie können den Prinzipien eines Musters folgen und eine Lösung implementieren, die auf diese Weise den konkreten Anforderungen Ihres eigenen Programms entspricht.

Entwurfsmuster versus Algorithmus

Muster werden oft mit Algorithmen verwechselt, da beide Konzepte typische Lösungen für bekannte Probleme beschreiben. Während ein Algorithmus immer eine klare Reihe von Aktionen definiert, mit denen ein bestimmtes Ziel erreicht werden kann, ist ein Muster eine high-level Beschreibung einer Lösung. Ein Entwurfsmuster, das auf zwei verschiedene Programme angewendet wird, wird zu sehr unterschiedlichem Quellcode führen.

Eine Analogie zu einem Algorithmus ist ein Kochrezept: Beide definieren klare Schritte, um ein Ziel zu erreichen. Auf der anderen Seite ähnelt ein Muster eher einer Blaupause: Sie können das Ergebnis und seine Intentionen sehen, aber die Details in der Implementierung liegen bei Ihnen.

Woraus besteht ein Entwurfsmuster?

Die meisten Entwurfsmuster werden sehr formal beschrieben, damit Entwickler sie in vielen Kontexten reproduzieren können. Hier sind die Abschnitte, die normalerweise in einer Musterbeschreibung enthalten sind:

Die Absicht des Musters beschreibt kurz sowohl das Problem als auch die Lösung. Die Motivation erklärt das Problem und die Lösung, die das Muster ermöglicht. Die Struktur der Klassen zeigt jeden Teil des Musters und wie sie zusammenhängen. Ein konzeptionelles Codebeispiel in einer gängigen Programmiersprache erleichtert das Erfassen der Idee, die sich hinter dem Muster verbirgt.


Zurück