Allgemeine Beschreibung
Das Buch umfasst etwas über 500 Seiten und besteht aus zwei Teilen mit insgesamt 18 Kapiteln. Es enthält zahlreiche Codeausschnitte, Diagramme und Schaubilder. Klassische Illustrationen gibt es nicht. Der Schwierigkeitsgrad liegt zwischen einfach und mittel.
Inhaltsverzeichnis
Teil I. Überblick
- Kapitel 1. Schichtenarchitektur des Systems
- Kapitel 2. Organisation der Geschäftslogik
- Kapitel 3. Objektmodelle und relationale Datenbanken
- Kapitel 4. Darstellung von Daten im Web
- Kapitel 5. Verwaltung paralleler Aufgaben
- Kapitel 6. Sitzungen und Zustände
- Kapitel 7. Strategien verteilter Berechnungen
- Kapitel 8. Der große Überblick
Teil II. Entwurfsmuster
- Kapitel 9. Darstellung der Geschäftslogik
- Kapitel 10. Architekturmuster für Datenquellen
- Kapitel 11. Objekt-relationale Muster zur Verhaltensmodellierung
- Kapitel 12. Objekt-relationale Muster zur Strukturmodellierung
- Kapitel 13. Objekt-relationale Abbildungsmuster unter Verwendung von Metadaten
- Kapitel 14. Muster zur Präsentation von Daten im Web
- Kapitel 15. Muster für die verteilte Datenverarbeitung
- Kapitel 16. Muster für die Bearbeitung autonomer Parallelität
- Kapitel 17. Muster zur Speicherung des Sitzungszustands
- Kapitel 18. Grundlegende Muster
Meinung
Ein rein theoretisches Buch über Programmierung, das stellenweise sogar leicht veraltet wirkt. Ich habe es nur deshalb gelesen, weil ich den Namen des Autors kenne – Martin Fowler ist seit vielen Jahren ein bekannter Verfechter guter Programmierpraxis und erfahrener Entwickler.
Das Buch hinterlässt einen zwiespältigen Eindruck: Einerseits werden viele bekannte Muster und architektonische Lösungen erläutert, von denen einige seit Jahrzehnten nichts an Relevanz verloren haben. Andererseits haben sich die Konzepte moderner Architekturen in den letzten Jahren – und noch mehr in den letzten Jahrzehnten – stark verändert.
Muster wie Singleton, Adapter oder die geschichtete Architektur mit objektorientiertem Ansatz sind zwar weiterhin anwendbar, doch moderne Systeme sind zunehmend dezentralisiert und stark belastet. Die Bedeutung von Replikationen hat zugenommen, Caching ist allgegenwärtig, und Nachrichtenbroker sind zu einem festen Bestandteil der meisten komplexen Systeme geworden – all dies wird im Buch jedoch kaum behandelt.
Das Buch eignet sich daher kaum als aktueller Leitfaden für moderne Anwendungen. Angesichts der Tatsache, dass heutzutage Lerninhalte nicht mehr nur in Form trockener Texte, weniger Diagramme und erläuternden Codes vermittelt werden können, würde ich das Buch nicht besonders empfehlen. Vielleicht galt es einst als „Klassiker“ der Programmierung, aber heute bin ich sicher, dass es modernere und deutlich unterhaltsamere Quellen zum Erlernen ähnlicher Themen gibt.