Java - von Rias A. Sherzad am Saturday, 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.
Weitere Empfehlungen:
Ähnliche Artikel:
Beliebteste Artikel
- Oracle WebServices im praktischen Einsatz
- Decorator Pattern in Java
- Cloud Computing mit Google App Engine und Java
- Testautomation im SAP Core-Banking eingesetzt
- JMS mit Oracle Advanced Queueing
- Buchempfehlung: Service-orientierte Architekturen mit Web Services. Konzepte – Standards – Praxis
- Einführung in SOA – Serviceorientierte Architekturen
- WebService in Java
- Fünf Wege der Fehlersuche in Java
- Java Generics – Generische Methoden, Klassen und Interfaces
- Eine kurze Einführung in db4o
- I think the following should work. It's effectively the same as the double-check...
- In Bezug auf den Satz:
"Die zweite Bedingung if (instance == null) würde damit...
- und noch etwas weiter:
3) statt “Zwischen der zweiten und der ...
- Gern geschehen :)...
- und noch etwas weiter:
3) statt "Zwischen der zweiten und der vierten Zeile ......
- Vielen Dank für den Beitrag!
Tatsächlich ist der Artikel in seinen technische...
- Ein guter Artikel.
Anmerkungen zu "Double-checked locking":
1) mit dem Spe...
- Auch die Frage fast ein Jahr alt ist will ich mich mal dran versuchen:
Friends ...
Java - Sep 3, 2009 2:52 - 0 Kommentare
Decorator Pattern in Java
Mehr Artikel der Kategorie Softwarearchitekturen
- Cloud Computing mit Google App Engine und Java
- JMS mit Oracle Advanced Queueing
- Buchempfehlung: Service-orientierte Architekturen mit Web Services. Konzepte – Standards – Praxis
- Einführung in SOA – Serviceorientierte Architekturen
- WebService in Java
Datenbanken, Internet Technologien - Nov 19, 2009 9:24 - 0 Kommentare
Oracle WebServices im praktischen Einsatz
More In Datenbanken
- JMS mit Oracle Advanced Queueing
- Eine kurze Einführung in db4o
- Native Kompilierung von PL/SQL-Routinen in Oracle 10g
Kommentieren
Sie müssen eingeloggt sein, um einen Kommentar hinterlassen zu können.