Referenz für selbständige Muster

Die beiden Suchmuster im obigen Beispiel stimmen beide mit jedem Paket x überein, so dass x von einem Paket y abhängt, das wiederum von einem Paket z abhängt, so dass x auch direkt von z abhängt. Das erste Muster verwendet ?bind direkt, während das zweite eine äquivalente Kurzschriftsyntax verwendet. Im Folgenden finden Sie ein einfaches Klassendiagramm, das die meisten Erstellungsmuster gemeinsam haben. Beachten Sie, dass verschiedene Erstellungsmuster zusätzliche und unterschiedliche teilnehmende Klassen erfordern. Auf diese Weise wird der Kontext unabhängig von konkreten Strategien, sodass Sie neue Algorithmen hinzufügen oder vorhandene ändern können, ohne den Code des Kontexts oder andere Strategien zu ändern. Mit der Strategie kann der Algorithmus unabhängig von Clients variieren, die ihn verwenden. [2] Strategie ist eines der Muster des einflussreichen Buches Design Patterns von Gamma et al.[3], das das Konzept der Verwendung von Designmustern populär machte, um zu beschreiben, wie man flexible und wiederverwendbare objektorientierte Software entwirft. Durch das Aufschieben der Entscheidung darüber, welcher Algorithmus verwendet werden soll, bis zur Laufzeit kann der aufrufende Code flexibler und wiederverwendbarer werden. Nach diesem Ansatz können wir den farbbezogenen Code in seine eigene Klasse mit zwei Unterklassen extrahieren: Rot und Blau. Die Shape-Klasse ruft dann ein Referenzfeld ab, das auf eines der Farbobjekte zeigt. Jetzt kann die Form jede farbbezogene Arbeit an das verknüpfte Farbobjekt delegieren. Dieser Verweis fungiert als Brücke zwischen den Klassen Shape und Color.

Von nun an müssen beim Hinzufügen neuer Farben die Formhierarchie nicht geändert werden und umgekehrt. Bridge ist ein strukturelles Entwurfsmuster, mit dem Sie eine große Klasse oder eine Gruppe eng verwandter Klassen in zwei separate Hierarchien ( Abstraktion und Implementierung – aufteilen können, die unabhängig voneinander entwickelt werden können. In der Regel speichert das Strategiemuster einen Verweis auf code in einer Datenstruktur und ruft ihn ab. Dies kann durch Mechanismen wie den systemeigenen Funktionszeiger, die erstklassige Funktion, Klassen oder Klasseninstanzen in objektorientierten Programmiersprachen oder den Zugriff auf die interne Speicherung von Code der Sprachimplementierung über Reflektion erreicht werden. Das GoF-Buch “Gang of Four” ist ein Spitzname, der den vier Autoren des Originalbuches über Designmuster gegeben wird: Design Patterns: Elements of Reusable Object-Oriented Software refactoring.guru/gof-book. führt die Begriffe Abstraktion und Implementierung als Teil der Bridge-Definition ein. Meiner Meinung nach klingen die Begriffe zu akademisch und lassen das Muster komplizierter erscheinen, als es wirklich ist. Nachdem wir das einfache Beispiel mit Formen und Farben gelesen haben, lassen Sie uns die Bedeutung hinter den beängstigenden Worten des GoF-Buches entschlüsseln. Verwenden Sie das Muster, wenn Sie eine Klasse in mehreren orthogonalen (unabhängigen) Dimensionen erweitern müssen. Brücke, Staat, Strategie (und bis zu einem gewissen Grad Adapter) haben sehr ähnliche Strukturen. In der Tat basieren alle diese Muster auf der Komposition, die Arbeit an andere Objekte delegiert. Sie alle lösen jedoch unterschiedliche Probleme.

Ein Muster ist nicht nur ein Rezept, um Ihren Code auf eine bestimmte Weise zu strukturieren. Es kann auch mit anderen Entwicklern kommunizieren, das Problem, das das Muster löst. Entspricht Paketen, deren Namen mit dem Namen des regulären Ausdrucks übereinstimmen. Dies ist der “Standard”-Suchmodus und wird für Muster verwendet, die nicht mit . Im Software-Engineering sind Kreationsentwurfsmuster Entwurfsmuster, die sich mit Objekterstellungsmechanismen befassen und versuchen, Objekte in einer der Situation angemessenen Weise zu erstellen. Die grundlegende Form der Objekterstellung kann zu Entwurfsproblemen oder zu zusätzlicher Komplexität des Entwurfs führen. Erstellungsmuster lösen dieses Problem, indem sie diese Objekterstellung irgendwie steuern. Die Schöpfungsmuster zielen darauf ab, ein System von der Art und Weise zu trennen, wie seine Objekte erstellt, zusammengesetzt und dargestellt werden.