Entwurfsmuster: Elemente wieder verwendbarer objektorientierter Software

Literatur  –  Kommentare

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

München 2009
Addison-Wesley
480 Seiten
€ 44,-
ISBN 978-3-8273-2824-3

Die Autoren des im Englischen "Design Pattern" genannten Werks werden gerne als "Gang of Four" (GoF) bezeichnet, denn mit dem schwergewichtigen Band haben sie einen Klassiker geschaffen. Zuweilen merken Kritiker gerne an, dass die 1990er reif waren für ein solches Buch und die GoF einfach nur schneller als etwa Joshua Bloch, Grady Booch oder Kent Beck.

Mehr Infos

Klassiker der Softwareentwicklung

Die in dem Werk vorgestellten 23 Muster sind beileibe nur ein Ausschnitt aus der Vielzahl der Entwurfsmuster, was die Autoren schon im Vorwort verdeutlichen. Dem geneigten Leser wird schnell bewusst, dass das Entwurfsmuster-Buch keine leichte Einsteigerlektüre ist, sondern sich – wie im Klappentext angegeben – an Profis richtet. Hier haben Profis ihres Faches ein Profibuch für ebensolche Entwickler geschrieben. Wer leichtere Kost zum Thema Entwurfsmuster sucht, sollte etwa in O'Reillys guter "Head first"-Reihe fündig werden.

Die Autoren haben das Buch zweigeteilt. Im ersten Teil gehen sie zunächst in einer Einleitung darauf ein, was denn nun Entwurfsmuster sind, gefolgt von einer Fallstudie. Der zweite Teil, der den größten Teil des Werks einnimmt, ist die Aufstellung der einzelnen Entwurfsmuster, die in unterschiedlichen Kategorien einsortiert sind (Erzeugungs-, Struktur- und Verhaltensmuster). Den Schluss bildet ein Kapitel mit Abschlussbetrachtungen.

Nachdem die Autoren auf das Wesen der Entwurfsmuster eingegangen sind, beleuchten sie als Erstes den Klassiker seit Smalltalk schlechthin, das MVC-Muster (Model View Controller), das zum Beispiel auch Anwendung in der App-Programmierung beim iPhone findet. Die eingestreuten UML-Diagramme sollte man lesen können. Weiterhin behandeln die Autoren Themen à la "Wie man ein Entwurfsmuster auswählt" oder "Wie man ein Entwurfsmuster verwendet". Auch Überlegungen zu Objektgranularitäten, dem Spezifizieren von Objektschnittstellen und Objektimplementierungen fließen in dieses Kapitel ein.

Das zweite Kapitel gestaltet sich etwas praktischer, es geht im Rahmen der Fallstudie um die Umsetzung eines WYSIWYG-Editors namens Lexi. Die Codefragmente hierzu sind in C++ gehalten. Was wohl auch einleuchtend ist, wenn man bedenkt, dass das amerikanische Original 1995 bei Addison-Wesley erschien.

In den Abschlussbemerkungen des letzten Kapitels gehen die Autoren darauf ein, was von Entwurfsmustern zu erwarten ist. Sie sehen die Entwurfsmuster als gutes Mittel beim Refactoring von Software. Zudem sind die Patterns allgemein anerkannt und vielen vertraut, sodass sie Vorteile für die Dokumentation und Einarbeitung bieten.

Die GoF-Bibel ist sicherlich das Standardwerk im Bereich der Entwurfsmuster. Kein Student der Informatik sollte in seiner Studienzeit an diesem Klassiker vorbeikommen. Klar, der Stoff ist nicht leicht verdaulich, man muss sich das Buch richtig erarbeiten. Wenn das aber geschehen und man vertraut mit den Entwurfsmustern ist, erhält der Softwareentwickler ein Handwerkszeug, das er immer wieder einsetzen kann. In dem Zusammenhang ist es auch nicht verwunderlich, dass man zum Beispiel in manchen Open-Source-Quelltexten nur noch "GoF:175" schreibt, also den Verweis auf das Decorator-Muster in der englischen Ausgabe des Buchs. (Karsten Kisser) / (ane)