Cover Entwurfsmuster, Eric & Elisabeth Freeman, GoF, gang of Four, Kathy Sierra & Bert Bates

Pfusch am Bau passiert oft. Ebenso bei IT-Projekten. Um Pfusch am Code festzustellen, bedarf es einen kleinen Blick unter die Motorhaube. Ein kleiner Code-Review lässt Bände sprechen. Böse Zungen behaupten sogar, man könne am Code erkennen, ob es sich um ein Offshoring-Projekt handelt.

Ist die Basis (der Code) bereits versaut, dann hilft auch keine solide Architektur mehr oder ein J2EE-Container. Ebenso rettet auch kein Produkt die Sache. Obschon eine J2EE oder JEE-Architektur so einiges “erzwingt” und damit einige Sauerei vermeidet, habe ich auch hier schon Abenteuerliches gesehen. Für einen kurzen Code-Review begnüge ich mich einiger weniger Prinzipien, die schnell und einfach zu prüfen sind:

  1. Wird eine Namenskonvention eingehalten ?
  2. Ist der Code dokumentiert ?
  3. Entspricht ein Klassenmodell einer Abstraktion-Konkretisierungs-Hierarchie?
  4. Beschreiben Methodennamen Verhalten?
  5. Und last but not least, werden Patterns verwendet

Und da sind wir auch schon bei einem, meiner Meinung nach, extrem wichtigen Punkt, und zwar bei den berühmten GoF-Patterns, oder in Deutsch Entwurfsmuster. Sie sind für die objektorientierte Programmierung sehr sehr wichtig.

Weil ich derzeit einige Schulung in diesem Umfeld vorbereite, habe ich ein didaktisch gutes Werk gesucht. Aus eigener Erfahrung weiß ich, dass das Vermitteln der Design Patterns nicht so einfach ist, insbesondere wenn Teilnehmer noch nicht allzuviel Programmiererfahrung haben, erscheinen die Patterns oftmals zu abstrakt. Erst kürzlich bei Amazon bestellt, habe ich nun ein Werk vorliegen, das ich wirklich empfehlen kann. Den Autoren Eric Freeman & Elisabeth Freeman, Kathy Sierra & Bert Bates ist es gelungen ein didaktisch sehr gut aufbereitetes Buch über Entwurfsmuster zu schreiben: Entwurfsmuster von Kopf bis Fuß.

Gerne lasse ich meine Kursteilnehmer immer wieder in Probleme rennen, damit Sie lernen, Alltagsschwierigkeiten lösen zu lernen. Die Autoren machen es ähnlich, indem Sie von einer Aufgabenstellung ausgehen, eine problembehaftete Lösung aufzeigen und dann die Eleganz durch die Lösung mit Entwurfsmuster aufzeigen. Sehr erwähnenswert ist, dass die Patterns nicht theoretisch abgespult werden, sondern an ganz konkreten Beispielen in Java behandelt werden.

So zeigen Sie einleitend sehr unterhaltsam, wie man mit dem Strategy-Pattern Komposition, anstatt falscher Vererbung verwendet. Dies geschieht an einer Enten-Simulation mit quakenden, quietschenden, fliegenden und nicht-fliegenden Enten. Mindestens genauso toll zeigen Sie das Decorator-Muster anhand des Kaffeehauses Sternback-Kaffee.

Insgesamt ist das Buch einfach der Hammer. In lockeren Dialogen zwischendurch behandeln die Autoren philosophische Fragen über verschiedenen Lösungsansätze und reflektieren, wann ein Muster eingesetzt werden sollte und in welchen Situationen besser nicht.