Zusammenfassung
Die bei der Systementwicklung verwendeten Muster haben ihren Ursprung in den Arbeiten des Architekten Christopher Alexander in den späten 70er Jahren. In diesen gibt Alexander u. a. einen Überblick über 253 Muster, die ein (Entwurfs-)Problem in der Architektur beschreiben, diskutieren, illustrieren und Lösungen für diese vorschlagen. Diese Muster bilden die Elemente einer Mustersprache (vgl. [Ale+77], S. XXXV). Beginnend mit den Entwurfsmustern wurde diese Idee auf den Bereich der Softwareentwicklung übertragen (vgl. [Gam+95], S. 2ff). Sie stellen Entwicklern von Softwaresystemen u. a. ein gemeinsames Vokabular zur Verfügung, das eine effiziente Kommunikation über Entwurfsprobleme und -lösungen ermöglicht.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Literatur
Eine Ausnahme hiervon bilden Idiome,bei denen es sich um programmiersprachenspezifische Muster handelt (vgl. Abschnitt 7.1.2).
Interessant ist in diesem Zusammenhang auch die Beschreibung des Werdegangs einer Entwurfsmusterbeschreibung in [Quib99]. Die Beschreibung des Musters wird dabei in einer Autoren-Werkstatt entwickelt, womit,,… der kreative Prozeß des Schreibens — die Textproduktion — im Vordergrund steht…“ ([Quib99], S. 67). Der Autor des Musters beschreibt dabei ein Problem, das er mehrmals löste und charakterisiert das Wesentliche der wiederkehrenden Lösung (vgl. [Quib99], S. 64ff).
Our goal is to capture design experience in a form that people can use effectively.“([Gam+95], S. 2)
ZüLLIGHOVEN ET AL. diskutieren anhand ausgewählter Beispiele (Objektwelten, direkte Manipulation von Arbeitsgegenständen sowie Fabrik) die Merkmale von Leitbildern, insbesondere in der Softwareentwicklung (vgl. [Zü11981, S. 74ff). Mit dem Werkzeug Material-Ansatz (WAM-Ansatz) wird anschließend ein Leitbild für die,,… Umsetzung des fachlichen Modells in den Entwurf des zukünftigen Systems…“ ([Z011981, S. 80) entwickelt.
Mit dieser Definition weicht FOWLER jedoch von dem Anspruch ab, daß es sich bei Mustern um praxisbewährte Lösungen handeln muß. Es ist also nicht Voraussetzung, daß ein Muster in mehreren Situationen bereits angewandt wurde.
Als Mikroarchitekturen (engl.: micro-architectures) werden mehrere zusammenarbeitende Objekte und ihr Verhalten bezeichnet. Sie umfassen den Entwurf, den Code der beteiligten Klassen, ihre Interaktionen und die Steuerflüsse zwischen ihnen (vgl. [LaKe94], S. 3).
Ein Beispiel hierfür sind die von C0AD vorgestellten objektorientierten Muster. Dabei handelt es sich um Abstraktionen kleiner Gruppen von Klassen, die wahrscheinlich mehrmals hilfreich bei der objektorientierten Entwicklung eingesetzt werden können (vgl. [Coad92], S. 153).
Eine ausführliche Diskussion des Verständnisses des „Meta“-Begriffs sowie der Probleme und Gefahren bei dessen Anwendung findet sich in [Stra99].
W EBSTER verwendet an dieser Stelle für Antimuster den Begriff der „Falle“ (engl.: pitfall).
Als häufig auftretende Probleme im Zusammenhang mit der Umsetzung von Wiederverwendung beschreibt WEBSTER u. a. das „Unterschätzen der Schwierigkeit bei der Wiederverwendung“, das „Setzen oder Besitzen von unrealistischen Erwartungen” und die „zu starke Fokussierung auf Wiederverwendung“(vgl. [Webs951, S. 215ff). Für weitere Antimuster im Bereich der Wiederverwendung vgl. [Webs951, S. 221ff.
Aus diesem Grund werden diese Muster in Abbildung 38 als phasenorientierte Muster bezeichnet.
So sieht z.B. das Abstract Factory-Muster nur die Spezialisierung der Klasse AbstractFactory in verschiedene ConcreteFactory-Klassen vor (vgl. [Gam+95], S. 87ff). Bezogen auf ein konkretes Problem sind diese Klassen explizit anzugeben.
Rights and permissions
Copyright information
© 2002 Springer Fachmedien Wiesbaden
About this chapter
Cite this chapter
Dietzsch, A. (2002). Muster. In: Systematische Wiederverwendung in der Software-Entwicklung. Deutscher Universitätsverlag, Wiesbaden. https://doi.org/10.1007/978-3-663-11580-9_7
Download citation
DOI: https://doi.org/10.1007/978-3-663-11580-9_7
Publisher Name: Deutscher Universitätsverlag, Wiesbaden
Print ISBN: 978-3-8244-2151-0
Online ISBN: 978-3-663-11580-9
eBook Packages: Springer Book Archive