Dieses Buch liefert Ihnen eine fundierte und kompakte Einführung in das Thema Modularisierung von Software und zeigt, wie Sie modularisierte
Anwendungen auf Basis des Java-Modulsystems erstellen können.

Im ersten Teil des Buches geht es um die theoretischen Grundlagen: Was ist überhaupt ein Modul? Wie lässt sich ein Softwaresystem sinnvoll modularisieren? Was ist beim Entwurf von Modulen und dem Zusammenspiel der Module untereinander zu beachten? Warum ist Modularisierung eigentlich so wichtig? Hier lernen Sie die Prinzipien, die auch außerhalb der Java-Welt ihre Verwendung finden, und werden in das Denken in Modulen und Schnittstellen eingeführt.

Der zweite Teil stellt das mit Java 9 eingeführte Java-Modulsystem in seiner ganzen Bandbreite vor und erläutert dieses anhand vieler Beispiele. Dabei geht es u.a. um:

- Arten von Java-Modulen
- Services
- Modulschichten
- Das modularisierte JDK
- Erstellung eigener JREs
- Testen und Patchen von Modulen
- Migration von Anwendungen

Darüber hinaus wird die Verwendung der gängigen IDEs (Eclipse, NetBeans, IntelliJ IDEA) und Build-Tools (Ant, Maven, Gradle) mit Java-Modulen behandelt.

Die Betrachtung weiterer Modularisierungsansätze – Microservices und Container – schließen das Buch ab. Anhand von Beispielen erfahren Sie, wie sich diese Ansätze mit Java-Modulen verbinden lassen.