Java - von am Samstag, September 29, 2007 5:10 - 0 Kommentare

Buchempfehlung: Design Patterns Java Workbook

Für jeden, der beginnt, sich mit Design Patterns zu beschäftigen stellt sich die Frage nach einschlägiger Literatur, die den geneigten Leser effektiv in die Thematik einführt. Surft man sich durch das Web und fragt man im Kollegenkreis nach Empfehlungen so hört man immer wieder von den üblichen Verdächtigen, wie dem Standardwerk Design Patterns von Erich Gamma, John Vlissides, Ralph Johnson und Richard Helm. Für diese Autoren hat sich sogar das Akronym GoF, die Gang of Four, eingebürgert, welches gerne von anderen Autoren gerne zitiert oder empfohlen wird. Bei der im Kollegenkreis üblichen Empfehlungswut wird gerne außer Acht gelassen, dass sich das Buch der Gang of Four nur bedingt für einen Einstieg in die Welt der Design Patterns eignet, da es mehr als Referenz zu verstehen ist und nicht als didaktische Einführung in das Verständnis von Design Patterns und deren Nutzung.

Das Design Patterns Java Workbook von Steven John Metsker schickt sich an, diese Lücke zu füllen und wählt dazu einen didaktischen Ansatz, der als Workbook, also als Arbeitsbuch, konzipiert, den Leser von den Grundlagen über verschiedene Aufgabenstellungen bis hin zur konkreten Implementierung des jeweils betrachteten Design Patterns führt. Der Autor bezieht sich dabei immer wieder auf das Buch der GoF, und da dieses für die Veranschaulichung der Design Patterns Codebeispiele in C++ und Smalltalk heranzieht, geht er zu Anfang auf einen grundlegenden Unterschied zwischen der Implementierung von Design Patterns in C++/Smalltalk und Java ein: den abstrakten Klassen und den Interfaces. Mit diesem Grundwissen ausgestattet sind auch keine weiteren großen Java-Kenntnisse mehr notwendig, um die folgenden Kapitel des Buches zu verstehen. Allerdings sollten grundlegende Kenntnisse der UML vorhanden sein, um die Klassendiagramme verstehen zu können.

Das Buch gruppiert die Patterns in eine von fünf Kategorien ein:

  • Interface: Adapter, Facade, Composite, Bridge
  • Responsibility: Singleton, Observer, Mediator, Proxy, Chain of Responsibility, Flyweight
  • Construction: Builder, Factory Method, Abstract Factory, Prototype, Memento
  • Operations: Template Method, State, Strategy, Command, Interpreter
  • Extensions: Decorator, Iterator, Visitor

Anschließend werden die Patterns der Reihe nach abgearbeitet, wobei sich in den Codes das Beispiel eines Herstellers von Feuerwerkskörpern als roter Faden durch alle Patterns zieht. Die Behandlung der einzelnen Patterns ist mit Aufgabenstellungen versehen, deren Lösung sich am Ende des Buches findet. Anhand des Vergleichs der eigenen Lösung mit dem Lösungsbeispiel aus dem Buch lässt sich das Verständnis des jeweiligen Design Patterns überprüfen, als auch neue Lösungsansätze für die jeweilige Problemstellung eruieren.
Im Anhang A finden sich, leider auf nur vier Seiten, Tipps & Tricks, wie sich ein tiefergehendes Verständnis von Design Patterns erwerben lässt, bevor im Anhang B die Lösungsbeispiele samt detaillierten Erklärungen aufgeführt werden. Als sehr effektiv erweisen sich die repetitiven Erklärungen zu dem der jeweiligen Lösung zugrundeliegenden Vorgehen und dessen Bezug zum dazugehörigen Design Pattern. Hier zeigt sich einmal mehr die Natur des als Lehrbuches konzipierten Buches. Sicherlich lässt sich an der einen oder anderen Stelle tiefer auf das Design Pattern, seine Implikationen und seinen Nutzen eingehen, doch würde das m. E. nur vom Studium und konkreten Einsatz des Design Pattern ablenken und einen akademischen Pfad einschlagen – der Domäne des Design Patterns Buches der GoF.

Fazit

Besonders hervorzuheben ist die lockere Schreibweise, die, verbunden mit einem didaktisch sehr gut aufbereiteten Vorgehensmodell, einen sehr hohen Lerneffekt zur Folge hat – mehr als in jedem anderen mir bekannten Buch. Auch ohne das Buch der GoF zur Hand lässt sich allein anhand dieses Workbooks das Verständnis für Design Patterns und deren Implementierung erwerben und damit gehört es ohne Zweifel in die Büchersammlung eines jeden Softwareentwicklers. Als kleine Hürde steht die englische Sprache im Weg, denn bisher findet sich keine deutsche Ausgabe des Buches. Für Java-Entwickler sollte dies aber das kleinste Problem sein, denn die benutzten Begrifflichkeiten gehören zum Standardrepertoire eines jeden Entwicklers, handelt es sich doch um Java- und UML-Sprachkonstrukte und damit um Begrifflichkeiten aus der objektorientierten Softwareentwicklung. Auch mit dem rudimentärsten Englisch sollten sich alle Erklärungen verstehen und Beispiele nachvollziehen lassen.

Bestellen lässt sich das Design Patterns Java Workbook über Amazon Deutschland. Im Buchhandel habe ich selten, und dann nur wenige, Exemplare gesehen die anscheinend aufgrund einer niedrigen Auflage schnell vergriffen waren. Für mich ist das unverständlich, denn es ist eines von fünf Büchern, welches aufgrund seines Nutzens ständig neben meinem Rechner liegt und nicht im Bücherregal.

Meine Empfehlung: unbedingt kaufen!

Design Patterns Java Workbook, Steven John Metsker, ISBN 0-201-74397-3, Erschienen im Addison Wesley Verlag 2002.



Kommentare

Kommentieren

Weitere Empfehlungen:




Fatal error: Uncaught Error: Call to undefined function related_posts() in /var/www/theserverside.de/htdocs/wp-content/themes/News/single.php:31 Stack trace: #0 /var/www/theserverside.de/htdocs/wp-includes/template-loader.php(74): include() #1 /var/www/theserverside.de/htdocs/wp-blog-header.php(19): require_once('/var/www/theser...') #2 /var/www/theserverside.de/htdocs/index.php(17): require('/var/www/theser...') #3 {main} thrown in /var/www/theserverside.de/htdocs/wp-content/themes/News/single.php on line 31