Design Pattern Definition

Was ist Design Pattern?

Entwurfsmuster sind wiederverwendbare Lösungen für die Softwareentwicklung. Sie dienen als Vorlagen, die Programmierer bei der Erstellung von Anwendungen verwenden können. Sie sind nicht spezifisch für einzelne Programmiersprachen, sondern sind stattdessen Best Practices oder Heuristiken, die in verschiedenen Programmierumgebungen angewendet werden können.

Während Design Patterns nicht sprachabhängig sind, beinhalten sie oft Objekte oder Klassen. Daher werden sie typischerweise mit objektorientierter Programmierung in Verbindung gebracht. Die einzelnen Muster lassen sich in drei verschiedene Kategorien einteilen: 1) Schöpfungsmuster, 2) Strukturmuster und 3) Verhaltensmuster.

1. Gestaltungsmuster

Gestaltungsmuster beschreiben Wege zur Erstellung von Objekten mit Methoden, die für verschiedene Situationen geeignet sind. Das „Singleton“-Muster wird zum Beispiel verwendet, um eine Basisklasse zu erstellen, die nur eine Instanz hat. Ein gängiges Beispiel ist eine globale Variable, die im Quellcode eines Programms definiert ist. Ein „Object Pool“-Muster wird verwendet, um eine Klasse mit einem „Pool“ von Objekten zu erstellen, die bei Bedarf abgerufen werden können, anstatt neu erstellt zu werden. Dies wird oft für Caching Zwecke verwendet.

2. Strukturmuster

Strukturmuster definieren die Beziehungen zwischen Objekten. Das Muster „Private Class Data“ wird zum Beispiel verwendet, um den Zugriff auf eine bestimmte Klasse zu beschränken. Dies kann unerwünschte Änderungen an einem Objekt verhindern. Die Klasse „Decorator“ hingegen ermöglicht es, einem Objekt zur Laufzeit Verhaltensweisen und Zustände hinzuzufügen. Dies gibt dem Programmierer die Flexibilität, einem Objekt so viele Klassen wie nötig hinzuzufügen. Ein Beispiel ist ein Avatar in einem Videospiel, der im Laufe des Spiels Waffen, Rüstungen und Gegenstände anhäuft. Die entsprechend benannte Klasse „Decorator“ würde einen guten Rahmen für diesen Prozess bieten.

3. Verhaltensmuster

Verhaltensmuster beschreiben das Verhalten von Objekten, wie z.B. die Art und Weise, wie sie miteinander kommunizieren. Ein Beispiel ist das „Command“-Muster, das Objekte beschreibt, die Befehle ausführen. Das „Memento“-Muster zeichnet den Zustand eines Objekts auf, so dass es zu seinem gespeicherten Zustand zurückkehren kann. Diese beiden Muster können zusammen verwendet werden, um Rückgängig– und Wiederherstellungsoperationen in einem Programm durchzuführen.

Zusammenfassung

Jede der drei Kategorien enthält mehrere andere Entwurfsmuster, die Programmierer verwenden können. Während die Muster hilfreiche Vorlagen für Softwareentwickler bieten, werden sie manchmal kritisiert, weil sie unnötig oder nicht spezifisch genug für bestimmte Anwendungen sind. Obwohl Entwurfsmuster nützliche Werkzeuge für die Programmierung sind, müssen sie nicht genau befolgt werden, um ein gut gestaltetes Softwareprogramm zu erstellen.

Die Definition von Design Pattern auf dieser Seite ist eine Originaldefinition von SharTec.eu.
Das Ziel von SharTec ist es, Computerterminologie so zu erklären, dass sie leicht zu verstehen ist. Wir bemühen uns bei jeder von uns veröffentlichten Definition um Einfachheit und Genauigkeit. Wenn Sie Feedback zur Entwurfsmuster-Definition haben oder einen neuen Fachbegriff vorschlagen möchten, kontaktieren Sie uns bitte.