Java Reference
In-Depth Information
Ein Muster arbeitet oft mit Abstraktionen, sei es in der Notation ei-
ner abstrakten Klasse oder einer Schnittstelle. Die echten Klas-
sen sind dann abgeleitete Klassen. Sie sind dem Muster nicht be-
kannt. Sie werden vom Nutzer des Musters definiert. Sie treten
dann entweder zur Kompilierzeit bei konkreten klassenbasierten
Mustern oder zur Laufzeit bei objektorientierten Mustern an die
Stelle der Abstraktionen des Musters.
Um Muster anderen Entwicklern zugänglich zu machen, müssen diese dokumentiert
werden. Muster werden nicht erfunden, sondern in Anwendungen als Lösungen für
typische Probleme und Sachverhalte "entdeckt", auf Konferenzen vorgetragen und
dann von der Fachwelt akzeptiert oder auch nicht. Sie können für viele Anwendungen
eingesetzt werden.
Kapitel 3.1 befasst sich mit dem Einsatz von Mustern beim Softwareentwurf. Kapitel
3.2 beschreibt die Eigenschaften von Mustern beim Softwareentwurf und ihre Kon-
struktion. Kapitel 3.3 grenzt Architektur-, Entwurfsmuster und Idiome voneinander ab.
In Kapitel 3.4 wird das Schema vorgestellt, das in diesem Buch verwendet wird, um die
Muster zu dokumentieren.
3.1 Einsatz von Mustern
Das Hauptziel von Mustern für den Softwareentwurf ist es, einmal
gewonnene Erkenntnisse wiederverwendbar zu machen und
durch ihre Anwendung die Flexibilität einer Architektur zu erhö-
hen.
Die meisten Systementwürfe enthalten zahlreiche Muster, wobei diese Tatsache allein
noch kein Merkmal eines guten Entwurfs ist. Auch hier hat Christopher Alexander
[Ale77] die passenden Worte gefunden: "Es ist möglich, Gebäude durch das lose Anei-
nanderreihen von Mustern zu bauen. Ein so konstruiertes Gebäude stellt eine An-
sammlung von Mustern dar. Es besitzt keinen inneren Zusammenhalt. Es hat keine
wirkliche Substanz. Es ist aber auch möglich, Muster so zusammenzufügen, dass sich
viele Muster innerhalb desselben Raums überlagern. Das Gebäude besitzt einen inne-
ren Zusammenhalt; es besitzt viele Bedeutungen, auf kleinem Raum zusammenge-
fasst. Durch diesen Zusammenhalt gewinnt es an Substanz." Ein guter Entwurf ent-
steht also oft erst dann, wenn mehrere Muster untereinander und mit der Anwendung
so geschickt verknüpft werden, dass Synergieeffekte entstehen.
Ein Muster sollte nur dann angewendet werden, wenn es tatsäch-
lich sinnvoll ist und auch Vorteile bringt. Bevor ein Muster einge-
setzt wird, sollte man sich also sehr genau überlegen, ob dieses
Muster überhaupt zum Problem passt und welche Konsequenzen
sich aus der Anwendung des Musters ergeben.
Vorsicht!
Search WWH ::




Custom Search