Muster konzept

Entwurfsmuster: Die Softwarearchitektur besteht in der Regel aus kleineren Architektureinheiten, die durch Entwurfsmuster beschrieben werden. Das GoF-Muster ist ein Beispiel für ein Entwurfsmuster. Beispielcode: Codefragmente, die die Implementierung des Musters veranschaulichen. Patterns entstand als architektonisches Konzept von Christopher Alexander bereits 1966 (c.f. “The Pattern of Streets”, JOURNAL OF THE AIP, September 1966, Vol. 32, Nr. 3, S. 273-278). 1987 begannen Kent Beck und Ward Cunningham mit der Idee zu experimentieren, Muster auf Programmieren – speziell Mustersprachen – anzuwenden, und stellten ihre Ergebnisse auf der OOPSLA-Konferenz in diesem Jahr vor. [1] [2] In den folgenden Jahren folgten Beck, Cunningham und andere dieser Arbeit. Jeder der Sinne kann Muster direkt beobachten. Umgekehrt können abstrakte Muster in Wissenschaft, Mathematik oder Sprache nur durch Analyse beobachtet werden.

Direkte Beobachtung in der Praxis bedeutet, visuelle Muster zu sehen, die in der Natur und in der Kunst weit verbreitet sind. Visuelle Muster in der Natur sind oft chaotisch, nie genau wiederholen, und oft mit Fraktale. Natürliche Muster umfassen Spiralen, Mäander, Wellen, Schäume, Fliesen, Risse und solche, die durch Symmetrien von Rotation und Reflexion erzeugt werden. Muster haben eine zugrunde liegende mathematische Struktur; [1] In der Tat kann Mathematik als die Suche nach Regelmäßigkeiten gesehen werden, und die Ausgabe einer funktionalen Funktion ist ein mathematisches Muster. In ähnlicher Weise in den Wissenschaften, Theorien erklären und vorhersagen Regelmäßigkeiten in der Welt. Die Beziehung zwischen dem Muster als Wiederholung und dem Muster als Prototyp ist genau wie die Beziehung zwischen zwei Arten von emergenden Eigenschaften: jenen, die aus Beziehungen zwischen Teilen eines Systems entstehen, und solchen, die aus Beziehungen zwischen dem System und seiner Umgebung entstehen. Hier [3] ist die aktuelle Liste der Kandidaten, von denen nur einige es in die endgültige Liste schaffen werden. Fühlen Sie sich frei, andere vorzuschlagen, oder möglicherweise Beziehungen mit Mustern. Es ist üblich, Muster mit dem Format zu beschreiben, das er von Erich Gamma und seinen drei Kollegen populär gemacht hat [GAM95]. Sie sind als die Viererbande (GoF) bekannt; daher wird ihre Beschreibung als GoF-Format bezeichnet. Das GoF-Format verwendet die folgenden Schlüsselwörter, um objektorientierte Entwurfsmuster zu beschreiben: Die jährlichen Pattern Languages of Programming Conference -Verfahren [12] enthalten viele Beispiele für domänenspezifische Muster. Ein Muster ist eine Regelmäßigkeit in der Welt, im vom Menschen gemachten Design oder in abstrakten Ideen.

Daher wiederholen sich die Elemente eines Musters auf vorhersehbare Weise. Ein geometrisches Muster ist eine Art Muster, das aus geometrischen Formen gebildet und in der Regel wie ein Tapetendesign wiederholt wird. Das Ziel von Entwurfsmustern besteht also darin, Änderungen im Code zu isolieren. Wenn Sie es sich so ansehen, haben Sie einige Designmuster bereits in diesem Buch gesehen. Beispielsweise kann die Vererbung als Entwurfsmuster betrachtet werden (wenn auch als ein smusse, das vom Compiler implementiert wurde). Es ermöglicht Ihnen, Unterschiede im Verhalten (das ist die Sache, die sich ändert) in Objekten auszudrücken, die alle die gleiche Schnittstelle haben (das ist, was gleich bleibt). Die Komposition kann auch als Muster betrachtet werden, da Sie dadurch die Objekte, die Ihre Klasse implementieren, und damit die Funktionsweise dieser Klasse ändern können. Das Konzept der Verwendung gemeinsamer Muster zur Lösung anderer, ähnlicher Probleme soll im Bereich der Gebäudeplanung und -architektur und der veröffentlichten Arbeit des Architekten Christopher Alexander entstanden sein.

Eines seiner Bücher wird weitgehend mit diesem Konzept, A Pattern Language: Towns, Buildings, Construction, Oxford University Press, 1977, zugeschrieben. Objektorientierte Entwurfsmuster zeigen in der Regel Beziehungen und Interaktionen zwischen Klassen oder Objekten an, ohne die endgültigen Anwendungsklassen oder Objekte anzugeben, die beteiligt sind. Muster, die mutablen Zustand implizieren kann ungeeignet für funktionale Programmiersprachen, einige Muster können unnötig in Sprachen, die integrierte Unterstützung für die Lösung des Problems, das sie zu lösen versuchen, und objektorientierte Muster sind nicht unbedingt geeignet für nicht-objektorientierte Sprachen.

Posted in Uncategorized.