Muster erörterung

Die Dokumentation für ein Entwurfsmuster beschreibt den Kontext, in dem das Muster verwendet wird, die Kräfte innerhalb des Kontexts, den das Muster zu lösen sucht, und die vorgeschlagene Lösung. [24] Es gibt kein einheitliches Standardformat für die Dokumentation von Entwurfsmustern. Vielmehr wurden eine Vielzahl von verschiedenen Formaten von verschiedenen Musterautoren verwendet. Laut Martin Fowler sind bestimmte Musterformen jedoch bekannter geworden als andere und werden daher zu gemeinsamen Ausgangspunkten für neue Muster-Schreibbemühungen. [25] Ein Beispiel für ein häufig verwendetes Dokumentationsformat ist das von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides in ihrem Buch Design Patterns. Es enthält die folgenden Abschnitte: Designmuster gewannen in der Informatik an Popularität, nachdem das Buch Design Patterns: Elements of Reusable Object-Oriented Software 1994 von der sogenannten «Gang of Four» (Gamma et al.) veröffentlicht wurde, die häufig als «GoF» abgekürzt wird. Im selben Jahr fand die erste Pattern Languages of Programming Conference statt, und im darauffolgenden Jahr wurde das Portland Pattern Repository zur Dokumentation von Designmustern eingerichtet. Der Anwendungsbereich des Begriffs ist nach wie vor umstritten. Bemerkenswerte Bücher im Designmuster-Genre sind: Darüber hinaus ermöglichen Muster Entwicklern, mit bekannten, gut verstandenen Namen für Software-Interaktionen zu kommunizieren.

Gemeinsame Designmuster können im Laufe der Zeit verbessert werden, wodurch sie robuster als Ad-hoc-Designs sind. Bei diesen Entwurfsmustern dreht sich alles um die Klasseninstanziierung. Dieses Muster kann weiter in Klassenerstellungsmuster und Objekterstellungsmuster unterteilt werden. Während Klassenerstellungsmuster die Vererbung effektiv im Instanziierungsprozess verwenden, verwenden Objekterstellungsmuster die Delegierung effektiv, um die Aufgabe zu erledigen. Per Definition muss ein Muster neu in jede Anwendung programmiert werden, die es verwendet. Da einige Autoren dies als einen Schritt zurück von der Software-Wiederverwendung sehen, wie sie von Komponenten bereitgestellt werden, haben Forscher daran gearbeitet, Muster in Komponenten umzuwandeln. Meyer und Arnout konnten zwei Drittel der versuchten Muster vollständig oder teilweise komponenten. [5] Designmuster waren ursprünglich in 3 Unterklassifikationen kategorisiert worden, basierend auf der Art des Problems, das sie lösen. Erstellungsmuster bieten die Möglichkeit, Objekte basierend auf den erforderlichen Kriterien und auf kontrollierte Weise zu erstellen. Bei Strukturmustern geht es darum, verschiedene Klassen und Objekte zu organisieren, um größere Strukturen zu bilden und neue Funktionen bereitzustellen. Schließlich geht es bei Verhaltensmustern darum, allgemeine Kommunikationsmuster zwischen Objekten zu identifizieren und diese Muster zu realisieren.

Obwohl Designmuster praktisch schon seit langem angewendet werden, verharrte die Formalisierung des Konzepts der Designmuster seit mehreren Jahren. [3] Designmuster können den Entwicklungsprozess beschleunigen, indem sie erprobte, bewährte Entwicklungsparadigmen bereitstellen. Effektives Softwaredesign erfordert die Berücksichtigung von Problemen, die möglicherweise erst später in der Implementierung sichtbar werden. Die Wiederverwendung von Entwurfsmustern hilft, subtile Probleme zu vermeiden, die große Probleme verursachen können, und verbessert die Lesbarkeit von Code für Programmierer und Architekten, die mit den Mustern vertraut sind.