Entwurfsmuster


Als (fauler) Softwareentwickler kommt man früher oder später zu der Vermutung (oder Hoffnung), dass irgendwer das Problem, über das man sich gerade den Kopf zerbricht, schon gelöst hat. Vielleicht erinnert man sich auch an das DRY-Prinzip - Don’t repeat yourself. Man soll sich nicht selbst wiederholen. Besser ist natürlich, nicht das zu wiederholen, was andere bereits gemacht haben. Wenn man also das Rad nicht neu erfinden will, landet man zwangsläufig bei den Entwurfsmustern (design patterns).

Entwurfsmuster von Kopf bis Fuß

Bei den Entwurfsmustern handelt es sich in der Regel um Sammlungen von bewährten Bauanleitungen für Lösungen häufig auftretender Problemstellungen. Es gibt Sammlungen für bestimmte Aufgaben (z.B. enterprise design patterns) oder von bestimmten Autoren zusammengestellt (z.B. Muster der Gang of Four).

Das Buch, das ich euch hier vorstellen möchte, behandelt die grundlegenden Muster der Viererband und enthält im Anhang kurze Zusammenfassungen bzw. Verweise auf die Entwurfsmuster, die am Anfang vermutlich nicht so häufig eingesetzt werden. Die Autoren begründen das damit, das ein Buch nie schwerer sein sollte, als derjenige, der es ließt.

Als ich das erste Mal das Buch in der Hand hatte und auf den Umschlag sah, dachte ich: “Was macht hier ein Informatikbuch für Grundschüler in der Profiabteilung?"

Nachdem ich dann aber ein paar Seiten durchgeblättert hatte, merkte ich, dass das Lesen richtig Spaß machte. Die Themen erstrecken sich nicht ellenlang über viele Seiten mit Codelistings, wie man sie aus Computerzeitungen für den C64 Anfang der 80er gefunden hat, sondern werden in kleinen Häppchen vermittelt und mit vielen Grafiken aufgelockert, wichtige Hinweise stehen als Beschreibungen an den Bildern. Sachverhalte werden auf unterschiedliche Weise wiederholt. Es gibt Kreuzworträtsel, Puzzles und kleine Übungen, Dialoge zwischen Meister und Schüler und Antworten vom Muster-Guru. Es kommt keine Monotonie auf und das machte es zu einem richtig guten Buch.

640 Seiten und knapp 1,3 kg wollen gefüllt werden. In 14 Kapiteln werden 12 häufige Muster von Beobachter (observer) bis zum Stellverteter-Muster (proxy) detailiert erklärt. Weiterhin sammelt man in seiner Design-Werkzeugkiste objektorientierte Grundlagen und Prinzipien wie Abstraktion, Kapselung oder das Composit Reuse Prinzip (Wiederverwendung sollte durch Komposition erreicht werden, nicht durch Vererbung).

Das Model-View-Controller Konzept wird anschaulich durch die Verwendung mehrerer Muster erklärt.

Ich finde, dieses Buch gehört in jedes Softwareentwickler-Bücherregal.