Er Muster

Die unsachgemäße Verwendung von Mustern kann die Komplexität unnötig erhöhen. [28] 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: Die Elemente dieser Sprache sind Entitäten, die Muster genannt werden. Jedes Muster beschreibt ein Problem, das in unserer Umgebung immer wieder auftritt, und beschreibt dann den Kern der Lösung für dieses Problem so, dass Sie diese Lösung millionenfach verwenden können, ohne es jemals zweimal auf die gleiche Weise zu tun. — Christopher Alexander[1] Designmuster waren ursprünglich in 3 Unterklassifikationen eingeteilt 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. Wenn ein Tupelmuster als Muster in einer For-in-Anweisung oder in einer Variablen- oder Konstantendeklaration verwendet wird, kann es nur Platzhaltermuster, Bezeichnermuster, optionale Muster oder andere Tupelmuster enthalten, die diese enthalten. Der folgende Code ist z. B. nicht gültig, da das Element 0 im Tupelmuster (x, 0) ein Ausdrucksmuster ist: Entwurfsmuster können den Entwicklungsprozess beschleunigen, indem sie getestete, bewährte Entwicklungsparadigmen bereitstellen. [4] Für das effektive Softwaredesign müssen Probleme berücksichtigt werden, die möglicherweise erst später in der Implementierung sichtbar werden.