Coupling and Cohesion ain't grandpa's design principles
Eine wichtige Eigenschaft der Softwarearchitektur, die großen Einfluss auf die Wartbarkeit eines Systems hat, ist Modularität. Wenn Applikationen größer werden oder über einen langen Zeitraum entwickelt werden, dann wird diese Eigenschaft zunehmend wichtiger, aber auch schwieriger zu realisieren.
Bereits vor vier Jahrzehnten wurden eine möglichst hohe Modulkohäsion und eine möglichst schwache Modulkopplung als grundlegende Strukturierungsziele erkannt. Trotzdem werden häufig Abhängigkeitsmanagement und Best-Practices zur Quellcodeorganisation vernachlässigt. In diesem Vortrag werden verschiedene Ansätze zur logischen und physischen Strukturierung von Java-Applikationen vorgestellt. Der Einsatz von Frameworks und Komponentenmodellen wird ebenfalls beleuchtet. Auch das Planen und Überprüfen von Abhängigkeiten zwischen den Modulen einer Applikation – denn Designentscheidungen müssen auch im Code wiederzufinden sein – wird anhand von praktischen Beispielen mit verschiedenen Werkzeugen demonstriert.



















