Details zu anzuwendenden Mustern |
Dieses Beispiel ist eine Gruppe aus acht Mustern. Viele dieser Muster sind in Benennung und Funktion branchenbewährten Mustern ähnlich.* Einige dieser Muster werden von anderen Mustern mit höherer Unterteilung verwendet, die auch als Mikromuster bezeichnet werden. Implementierungsmuster(Zwei Parameter, eine Parameterabhängigkeit, ein Mikromuster) Das Implementierungsmuster ist ein Elementarmuster, das in sich geschlossen ist und in seiner Implementierung keine weiteren Muster nutzt. Es handelt sich um ein sehr einfaches Muster, das sicherstellt, dass eine UML-Implementierungsbeziehung von einem Implementierungsargument zu einem Schnittstellenargument vorhanden ist. Schnittstellenmuster(Zwei Parameter, eine Parameterabhängigkeit, ein Muster wiederverwendet) Das Schnittstellenmuster, ein Muster, das von einigen wenigen anderen Beispielmustern wiederverwendet wird, verwendet seinerseits ein Muster in seiner Implementierung wieder. Das Implementierungsmuster ist ein sehr elementares Muster (das auch als Mikromuster bezeichnet wird) und dient im Schnittstellenmuster zur Sicherstellung, dass das Implementierungsargument das Schnittstellenargument implementiert. Das Schnittstellenmuster besitzt zwei Parameter: einen zur Darstellung der Schnittstelle und einen zur Darstellung der Implementierung. Es enthält ein Beispiel einer grundlegenden Stellvertreterzuordnung unter Verwendung von Musterdefinitionen und Stellvertretern für Musterabhängigkeiten. Dies ist ein sehr einfaches, jedoch funktionsfähiges Muster, das auch in anderen Teilen der Musterdokumentation erwähnt wird. Dieses Muster zeigt außerdem die kombinierte Verwendung von Musterstellvertreter (Muster-Delegate) und angepasstem Code zur Implementierung der Aktualisierungsmethoden für die Abhängigkeiten eines Musters. Das Implementierungsmuster wird wiederverwendet, um die Implementierungsbeziehung sicherzustellen. Anschließend wird angepasster Code für Aktualisierungsmethoden verwendet, um sicherzustellen, dass die Implementierung alle definierten Operationen an den Schnittstellenargumenten implementiert. Schlüsselwortlistenmuster(Zwei Parameter, eine Parameterabhängigkeit, ein Mikromuster) Das Schlüsselwortlistenmuster ist ein Elementarmuster, das in sich geschlossen ist und in seiner Implementierung keine weiteren Muster nutzt. Es demonstriert außerdem die Verwendung einer UML-Literalzeichenfolge als Parametertyp sowie die Verwendung eines abstrakten UML-Metatyps als Parametertyp. Dieses Muster enthält darüber hinaus Funktionalität zur ordnungsgemäßen Sicherstellung, dass die Mustersemantik als Argumente gelöst und Musterexemplare nicht angewendet werden. Das Schlüsselwortlistenmuster kann über die Musterexplorersicht als eigenes Exemplar erstellt werden, jedoch eignet es sich besser zur Wiederverwendung durch den Musterdelegierungsmechanismus in anderen Mustern. Muster für gesteuerte Zuordnung(Sechs Parameter, fünf Parameterabhängigkeiten, ein Mikromuster) Das Muster für gesteuerte Zuordnung ist ein weiteres in sich geschlossenes Elementarmuster, ein Mikromuster, das von anderen Mustern mit höherer Unterteilung wiederverwendet wird. Das Muster für gesteuerte Zuordnung hat zwei Hauptparameter, die den Kontext für eine gesteuerte Zuordnung festlegen. Es besitzt fünf weitere Sekundärparameter, die bei der Bildung der Zuordnung helfen, indem Sie den Zuordnungstyp, die Rollennamen und die Multiplizitäten konfigurieren. Dieses Muster wird durch das Beispieldelegierungsmuster wiederverwendet und ist ein Beispiel für ein Muster, das zahlreiche weniger häufige Parametertypen enthält. Literalzeichenfolgen, Integer und Musteraufzählungen werden in der Definition dieses Musters verwendet. Der in diesem Beispiel enthaltene Mustercode zur Behandlung dieser Literale und Aufzählungen ist von unschätzbarem Wert für Musterautoren, um sich mit der Erstellung von Mustern vertraut zu machen, die ähnliche Parametertypen besitzen. Delegierungsmuster(Zwei Parameter, eine Parameterabhängigkeit, drei Muster wiederverwendet) Das Delegierungsmuster besitzt zwei Parameter: einen Parameter, der den Delegator darstellt, und einen Parameter, der den Stellvertreter (Delegate) im Delegierungsmuster darstellt. Der Delegator delegiert in der Stellvertreterschnittstelle definierte und durch den Delegator implementierte Operationen an ein Exemplar des Stellvertretertyps. Dieses Muster demonstriert die Verwendung der Filter für die Stellvertreterzuordnung zur Anpassung des Namens der Schlüsselwörter, die an die Wiederverwendungsexemplare von Schlüsselwortlistenmustern gebunden werden. Diese Anpassung des Namens ist zur Bereitstellung einer nützlichen Implementierung des Delegierungsmusters nicht erforderlich, sondern wurde diesem Beispiel hinzugefügt, um die Verwendung der Stellvertreterzuordnungsfilter zu demonstrieren. Strategiemuster(Drei Parameter, zwei Parameterabhängigkeiten, zwei Muster wiederverwendet) Das Strategiemuster basiert auf dem gemeinhin bekannten Strategiemuster. Es verwendet das Beispiel des Schlüsselwortlistenmusters sowie das Schnittstellenbeispielmuster wieder und enthält ein Beispiel der Parameterstellvertreterzuordnung. Es besitzt drei Parameter: einen Parameter, der die Strategieschnittstelle darstellt, einen, der die konkrete Strategie darstellt, und einen, der den Kontext der eigentlichen Strategie darstellt. Zur Demonstration der Wiederverwendung des Schlüsselwortlistenmusters stellt das Muster sicher, dass das Schlüsselwort <<Strategy>> im Argument des Parameters für die Strategieschnittstelle vorhanden ist. Das Schnittstellenmuster wird wiederverwendet, um sicherzustellen, dass die Strategieschnittstelle durch die gebundenen Argumente des Parameters für die konkrete Strategie implementiert wird. Singleton-Muster(Null Parameter) Das Singleton-Muster basiert auf dem gemeinhin bekannten Singleton-Muster. Es ist ein Beispiel für ein parameterloses Muster. Es besitzt einen impliziten Parameter, der sich als das Musterexemplar selbst vorstellen lässt. Dieses Muster stellt seine Musterexemplare als Klassen und nicht als Collaborations dar, die in der Regel häufiger zur Darstellung verwendet werden. Eine funktionale Verwendung dieses Musters besteht darin, es aus der Musterexplorersicht in eine Klasse zu ziehen, die als Singleton definiert werden muss. Das Ziehen dieses Musters auf die Diagrammoberfläche (in ein Paket) führt zur Erstellung eines neuen Singleton-Exemplars und somit zur Erstellung einer neuen Klasse zur Darstellung dieses Exemplars. AbstractFactory-Muster(Fünf Parameter, fünf Parameterabhängigkeiten, ein Muster wiederverwendet) Das AbstractFactory-Muster basiert auf dem gemeinhin bekannten Abstract Factory-Muster. Es verwendet das Schnittstellenmuster wieder und demonstriert so Abhängigkeitsstellvertreter im Verlauf des Delegierungsverhaltens an das Schnittstellenmuster. Es handelt sich um eine degenerierte Implementierung des Abstract-Factory-Musters, in dem alle konkreten Produkte alle abstrakten Produktschnittstellen implementieren, die gebunden werden. Es stellt exemplarisch die Verwendung von Parameterabhängigkeiten dar, um sicherzustellen, dass die Semantik eines Musters als zusätzliche Argumente an das Muster gebunden wird. Ebenso wie das Singleton-Muster andere Objekte als Collaborations zur Darstellung von Musterexemplaren verwendet, verwendet dieses Muster Pakete. Exemplare dieses Musters sind Pakete. * Siehe: Design Patterns: Elements of Reusable Object-Oriented Software von Gamma, Helm, Johnson und Vlissides, Copyright (c) 1995, Addison-Wesley Publishing Company, Inc. Alle Rechte vorbehalten. |