Entwurfsmuster – Das umfassende Handbuch

Literatur  –  0 Kommentare

Matthias Geirhos
Entwurfsmuster

Das umfassende Handbuch

Rheinwerk, 2015
643 Seiten, € 39,90
ISBN 978-3-8362-2762-9

In vielen Tätigkeiten und Lösungen sind Muster zu erkennen. Und die ersten, die eine ganze Sammlung von Software-Entwurfsmustern in einem Buch dokumentiert haben, sind Gamma et. al., bekannt als Gang of Four (GoF). Später hat O'Reilly dann mit Entwurfsmustern die "Head First"-Reihe begründet, ein alternativer Ansatz, Themen dem Leser sowohl unterhaltsam als auch einprägsam nahezubringen. Auch Rheinwerk hat eine alternative Reihe aufgelegt. "Schrödinger programmiert" kommt Comicstrip-artig daher. Matthias Geirhos hatte zuerst geplant, sein Buch über Entwurfsmuster im Rahmen dieser Serie zu veröffentlichen. Nun ist es aber doch ein eher traditionelles Fachbuch geworden.

Und in den Kapiteln "Erzeugermuster", "Strukturmuster" sowie "Verhaltensmuster" beschreibt er im Wesentlichen genau die Muster, die bereits die GoF in ihren gleichlautenden Kapiteln beschrieben hat. Insofern muss sich Geirhos hier einem direkten Vergleich stellen. Wie bei der GoF folgen seine Beschreibungen einem einheitlichen Muster, das jedoch ein wenig vom Original abweicht. Geirhos nutzt jeweils die Abschnitte "Steckbrief", "Beschreibung", "Anwendungsfälle", "Implementierung", "Weitere Überlegungen" und "Alternativen". Je nach Muster wird dies um weitere Abschnitte angereichert.

Wer die Anordnung der GoF kennt, wird im aktuellen Buch eine stärkere Orientierung an praktischen Anwendungsfällen erkennen. Dabei entstammen die Praxisbeispiele nicht einer Fallstudie, sondern kommen aus unterschiedlichen Bereichen, unter anderem von Schachspiel, Rechnungswesen und Onlineshop. Der Autor versucht damit zu zeigen, dass unterschiedliche Anwendungen unterschiedlich von den verschiedenen Mustern profitieren. Wenn auch Geirhos in seinen Büchern sonst eher auf C# setzt, sind hier die Beispiele überwiegend in Java formuliert.

Muster funktionieren unabhängig von einer konkreten Sprache, doch durch die Wahl von Java (und ein bisschen C#) ist Geirhos näher dran an den aktuellen Sprachen. Allerdings wird das von Gamma et. al. neben Smalltalk genutzte C++ ebenfalls noch eingesetzt. Geirhos ist für manche Leser vielleicht etwas einfacher zu lesen, dafür erscheint die GoF in der Formulierung klarer.

Über die Muster der GoF hinaus findet der Leser im aktuellen Buch jedoch diverse weitere Kapitel. So lässt sich Geirhos über Muster verteilter Architektur aus, ein Kapitel in dem er Historie und Status quo beschreibt, wenn auch sehr geprägt von seiner Arbeit mit der Windows-Umgebung. Über serviceorientierte Architekturen gelangt er dann zu zwei konkreten Mustern: Event Sourcing und Command Query Resposibility Segregation. Daten- und GUI-Muster schließen seine Mustersammlung ab, wobei er im Falle von GUI hauptsächlich auf Model View Controller (MVC) eingeht, um dann MVP und MVVM als dessen Abwandlungen zu beschreiben.

Den Abschluss des Buch bildet dann ein Kapitel über Design- und Entwicklungsprinzipien. Hier setzt sich der Autor sowohl mit Prinzipien wie SOLID, KISS, DRY (dies Abkürzungen löst er natürlich auf) und anderen auseinander, bespricht aber auch das Gegenteil, nämlich diverse Antipatterns. Muster, die zeigen, wie etwas nicht gemacht werden sollte, haben oft auch einen sehr erhellenden Charakter.

Der Autor schreibt sachlich-locker, aber nicht unbedingt mitreißend. Er unterstreicht die Worte mit viel Codebeispielen und diversen Grafiken, insbesondere (wie auch die GoF) mit UML-Diagrammen. Insgesamt ist so ein grundsolides Werk entstanden, das ein breites Spektrum von Entwurfs- und teilweise Architekturmustern abbildet. Geeignet vor allem für Entwickler, aber auch für Softwarearchitekten.

Michael Müller
ist als Bereichsleiter Softwareentwicklung der InEK GmbH verantwortlich für Projekte im Web-, Java- und .NET-Umfeld. Daneben betätigt er sich als freier Autor und verfasst Fachartikel zu diversen Entwicklungsthemen sowie Buchrezensionen.