Was ist hexagonale Architektur? Was sind ihre Vorteile? Und wie implementiert man eine hexagonale Anwendung in Java? Diese Fragen beantwortet Tom Hombergs in “Get Your Hands Dirty on Clean Architecture”.
Der Autor beschreibt zunächst die Probleme der klassischen Schichtenarchitektur und erklärt, wie die von Robert C. Martin beschriebene “Clean Architecture” und die von Alistair Cockburn eingeführte (prinzipiell vergleichbare) “Hexagonale Architektur” die Anforderungen einer modernen Anwendung (Wartbarkeit, Anpassbarkeit, Erweiterbarkeit) besser erfüllen können – nämlich indem sie die fachliche Domäne (und nicht technische Details) in den Mittelpunkt der Architektur stellen.
Nach kurzer Theorie folgt die Praxis: Schritt für Schritt entwickelt der Autor eine beispielhafte Java-Anwendung mit Entities, Use Cases, Ports und Adaptern. Für die Adapter stellt er verschiedene Mapping-Strategien vor und bespricht deren Vor- und Nachteile.
Er geht detailliert auf den Schnitt und die Testbarkeit der Komponenten ein und schlägt eine Paketstruktur vor, die den Architekturstil sichtbar macht.
Nachdem alle Komponenten der Anwendung fertiggestellt sind, zeigt der Autor, wie diese – zum einen mit reinem Java und zum anderen mit dem Spring Framework – zusammengesetzt werden können. Damit demonstriert er eindrucksvoll, dass auch die Umsetzung der Dependency Injection bloß ein austauschbares Detail der Software sein kann.
Anschließend zeigt der Autor, wie die Anwendung mit separaten Build-Artefakten, z. B. Maven-Modulen, so modularisiert werden kann, dass der Architekturstil nicht ohne weiteres umgangen werden kann. Leider geht der Autor nicht darauf ein, inwieweit das Java-Modulsystem diese Aufgabe ebenfalls übernehmen könnte.
Schließlich erörtert er noch, welche Abkürzungen wir beim Mapping zwischen den Schichten einschlagen können und welchen technischen Schulden wir uns dabei bewusst sein müssen.
Das Buch ist hervorragend strukturiert und durchgehend verständlich und präzise formuliert. Dem Autor ist es gelungen, auf nur 138 Seiten unterzubringen, was in "Designing Hexagonal Architecture with Java" (ein Buch, das ich nicht empfehle und das ich deshalb hier auch nicht aufliste) mehr als den vierfachen Platz einnimmt. Eine hervorragende Leistung!
🎧 Geeignet als Hörbuch? Nein, aufgrund zahlreicher Diagramme und Codebeispiele.
Du findest übrigens eine Tutorial-Serie über hexagonale Architektur im Software-Craftsmanship-Bereich dieser Webseite.
* Hinweis: Wir teilen gerne unsere Lieblingsbücher mit dir! Als Amazon-Partner verdienen wir eine kleine Provision bei Einkäufen, die du über unsere Links tätigst. Dies hilft uns, weiterhin Inhalte zu erstellen, die dir gefallen.