Im Verlag Galileo Computing ist das oben genannte Werk erschienen, welches dem Leser mittels präzisen Sprachregeln und Testfragen neben der Vermittlung der Sprache auf die "Sun Certified Programmer"-Zertifizierung vorbereiten soll. Weiterer Schwerpunkt sind die Besonderheiten, die in der Sprache integriert sind. Letztlich werden Designmuster (Pattern) anhand von praktischen Beispielen vorgestellt, so dass der Java-Beginner mehr als Bahnhof versteht, wenn er mit Factory-Klassen konfrontiert wird, bzw. solche implementieren soll. Wie in der Einleitung schon angedeutet, nimmt sich der Autor auf den rund 650 Seiten recht vieler Themen an. So ist es positiv zu erwähnen, dass das Buch trotz des Umfangs, der beigelegten CD und anspruchsvoller Gestaltung für 35,28 Euro erhältlich ist.
Die Beschreibung der Zielgruppe lässt sich kaum besser darstellen, als vom Autor selbst: "(...) Denn ab dem vierten Kapitel werden eher die angesprochen, die nicht (nur) mauern (müssen), sondern das Haus auch entwerfen wollen." Nach den ersten drei Kapiteln, die sich auf ca. 120 Seiten mit den elementaren Eigenschaften von Java befassen, folgt eine umfangreiche Einführung in die UML-Modellierung. Kapitel fünf beschreibt anschließend, wie die einzelnen Elemente von UML in Java umgesetzt sind. Bereits bei den kurzen Beispielen in diesem Kapitel wird der Anwender mit Tipps versorgt, wie er programmieren sollte, an welcher Stelle also z. B. ein Objekt / eine Variable initialisiert werden sollte.
Ab Seite 180 befasst sich das Buch im Prinzip nicht mehr mit dem Erlernen der Programmiersprache Java, sondern mit Programmierkonzepten wie z. B. Patterns. Da Java bekanntlich gerade im Hinblick auf Wiederverwendbarkeit und Wartbarkeit punkten will, stehen die Konzepte an erster Stelle, die diese Eigenschaften begünstigen (Interfaces, Delegations-Pattern, Immutable-Idiom, Marker-Interface und schließlich das gebräuchliche Factory-Pattern). Die einzelnen Pattern werden allerdings nicht nur beschrieben, sondern auch umfangreich miteinander und mit anderen Konzepten verglichen.
In den weiteren Kapiteln geht es um die Spezialitäten von Java, nebenbei werden weitere Programmierkonzepte behandelt. So geht es im siebten Kapitel um die Fehlerbehandlung, im Kapitel Acht um innere Klassen und ihre Einsatzmöglichkeiten. - Bei der Fehlerbehandlung wird parallel auch das Façade-Pattern erläutert. Mit rund 60 Seiten ist Kapitel 9 eines der umfangreichsten des gesamten Buches. Es erläutert Threads und die dadurch entstehenden Probleme zu denen es gleich Lösungsansätze vorgibt (Deadlock-Behandlung, Garantie der Thread-Sicherheit).
In anderen Büchern eher in den ersten Kapiteln angeordnet, erfolgt eine Beschreibung der grundlegenden Pakete java.lang und java.io erst in den Kapiteln 10 und 11. Allerdings werden nur einige ausgewählte Klassen und Methoden dieser Pakete behandelt, eine Übersicht über den Sprachumfang von Java will und kann das Werk nicht geben. Dafür werden mit Singleton und Decorator wieder zwei Pattern und bei der IO auch gleich das java.security Paket für digitale Signaturen etc. vorgestellt. - Der Objekt-Serialisierung als Teilbereich der java.io wird wegen der weitreichenden Auswirkungen auf das gesamte Objektmodell ein eigenes Kapitel gewidmet (Gleichzeitig Betrachtung des Broker-Patterns). Kapitel 13 und 14 geht wieder zu den Besonderheiten, in diesem Fall zu den Reflexion-Klassen, dem Collection-Framework und nebenbei zum Command-, Proxy- und Iterator-Pattern.
Ebenso krönender wie ungewöhnlicher Abschluss ist das letzte Kapitel, in dem es um die Java Foundation Classes geht, also der Programmierung von GUI und Applets. Dazu gehört selbstverständlich auch die MFC-Architektur, sowie ein letztes Pattern (Observer-Pattern).
In Sachen Lesbarkeit ist das Buch vorbildlich. Die Gliederung geht bis Ebene 3, weitere Zwischenüberschriften sind fett geschrieben. Sollte sich der Leser doch einmal "verirren" findet er mittels der Kurzbeschreibungen am Seitenrand schnell wieder in das Thema zurück. Praktisch alle Themen werden mittels ausführlichem Quellcode verdeutlicht, der Quellcode ist in einer eigenen Schriftart gedruckt, wobei die wichtigsten Stellen zusätzlich per Fettschrift hervorgehoben sind. Beziehungen zwischen den einzelnen Klassen, werden zumeist mittels UML-Diagrammen dargestellt, Übersichtstabellen sind grau hinterlegt.
Fazit
Wie in der Beschreibung des Inhaltes hervorgehoben, behandelt das Buch eine Vielzahl von Designmustern, wie sie wohl sonst nur in Literatur vorkommt, die sich ausschließlich diesem Thema widmet. Der Programmier- oder Java-Neuling wird sicherlich etwas überfordert, wer sich die vorgestellten Konzepte verinnerlicht, wird dafür jedoch einen deutlichen positiven Effekt auf seinen Programmierstil bekommen.








