Java Reference
In-Depth Information
3.2 Eigenschaften von Mustern und ihre Konstruktion
Muster haben das Ziel, die Eigenschaften von Architekturen zu verbessern. Hierzu ge-
hören beispielsweise die folgenden Eigenschaften:
x
Verständlichkeit und
x
Erweiterbarkeit.
Verständlichkeit wird erreicht durch Einfachheit und indem jedes Muster einfach und in
strukturierter Weise umfassend dokumentiert wird. Erweiterungen können beispiels-
weise
x
durch statische Vererbung oder
x
über die Verwendung einer aggregierten Schnittstelle
39
bzw. einer abstrakten Klas-
se als Abstraktion
erfolgen.
Objektorientierte Muster genügen den folgenden Konstruktions-
prinzipien:
x
loosely coupled system
(siehe Kapitel 1.5) - lose Kopplung
von Komponenten,
x
Abstraktion
(siehe Kapitel 1.2) - durch Generalisierung und
durch Ausweisen von Schnittstellen oder abstrakten Klassen,
x
Information Hiding
(siehe Kapitel 1.2) durch Verbergen der
Implementierung,
x
klare Verantwortlichkeiten
(siehe Kapitel 1.3) durch eine
Ausweisung von Rollen und
x
dem Dependency Inversion-Prinzip
, wobei eine Klasse einer
höheren Ebene nicht von einer Klasse einer tieferen Ebene ab-
hängt.
Es soll an dieser Stelle betont werden, dass es möglich ist, Muster für nicht objektori-
entierte Systeme zu formulieren. Diese Muster kommen also insbesondere ohne Ver-
erbung und Polymorphie aus [Bus98, S. 24]. Muster müssen nicht grundsätzlich ob-
jektorientiert sein. Die in diesem Buch vorgestellten
Entwurfsmuster
werden alle in ei-
ner objektorientierten Fassung vorgestellt.
Wer objektorientiert denkt, versucht stets durch
Generalisierung
die höchstmögliche
Abstraktion - in anderen Worten die Basisklasse - zu finden, um daraus durch
Spe-
zialisierung
die verschiedenen Varianten zu gewinnen.
39
Siehe beispielsweise das Brücke-Muster.
Search WWH ::
Custom Search