Entwurfsmuster
Entwurfsmuster sind wiederverwendbare Lösungen für die Entwicklung von Software. Sie dienen als Vorlagen, die Programmierer beim Erstellen von Anwendungen verwenden können. Sie sind nicht auf einzelne Programmiersprachen beschränkt, sondern stellen Best Practices oder Heuristiken dar, die in verschiedenen Programmierumgebungen angewendet werden können.
Obwohl Entwurfsmuster nicht von einer bestimmten Sprache abhängen, enthalten sie häufig Objekte oder Klassen. Daher werden sie normalerweise mit der objektorientierten Programmierung in Verbindung gebracht. Einzelne Muster können in drei verschiedene Kategorien eingeteilt werden: 1) Erzeugungsmuster, 2) Strukturmuster und 3) Verhaltensmuster.
1. Erzeugungsmuster
Erzeugungsmuster beschreiben Möglichkeiten, Objekte mithilfe von Methoden zu erstellen, die für unterschiedliche Situationen geeignet sind. Das Muster „Singleton“ wird beispielsweise verwendet, um eine einfache Klasse zu erstellen, die nur eine Instanz besitzt. Ein häufiges Beispiel ist eine globale Variable, die im Quellcode eines Programms definiert ist. Ein Muster namens „Object Pool“ wird verwendet, um eine Klasse mit einem „Pool“ von Objekten zu erstellen, die bei Bedarf abgerufen werden können, anstatt sie neu zu erstellen. Dies wird häufig zum Zwischenspeichern verwendet.
2. Strukturmuster
Strukturmuster definieren die Beziehungen zwischen Objekten. Das Muster „Private Class Data“ wird beispielsweise verwendet, um den Zugriff auf eine bestimmte Klasse einzuschränken. Dadurch kann eine unerwünschte Änderung eines Objekts verhindert werden. Die Klasse „Decorator“ ermöglicht es dagegen, einem Objekt während der Laufzeit Verhaltensweisen und Zustände hinzuzufügen. Dies gibt Programmierern die Flexibilität, einem Objekt so viele Klassen wie nötig hinzuzufügen. Ein Beispiel ist ein Avatar in einem Videospiel, der im Verlauf des Spiels Waffen, Rüstungen und Gegenstände ansammelt. Die passend benannte Klasse „Decorator“ würde einen geeigneten Rahmen für diesen Prozess bieten.
3. Verhaltensmuster
Verhaltensmuster beschreiben das Verhalten von Objekten, beispielsweise die Art und Weise, wie sie miteinander kommunizieren. Ein Beispiel ist das Muster „Command“, das Objekte beschreibt, die Befehle ausführen. Das Muster „Memento“ zeichnet den Zustand eines Objekts auf, damit dieser auf den gespeicherten Zustand zurückgesetzt werden kann. Diese beiden Muster können gemeinsam verwendet werden, um in einem Programm die Vorgänge Rückgängig und Wiederholen auszuführen.
Zusammenfassung
Jede der drei Kategorien umfasst mehrere weitere Entwurfsmuster, die Programmierer verwenden können. Obwohl die Muster Softwareentwicklern hilfreiche Vorlagen bieten, werden sie manchmal dafür kritisiert, dass sie für bestimmte Anwendungen unnötig oder nicht spezifisch genug sind. Daher sind Entwurfsmuster zwar nützliche Werkzeuge für die Programmierung, müssen aber nicht genau befolgt werden, um ein gut gestaltetes Softwareprogramm zu erstellen.
Testen Sie Ihr Wissen