Komponentenbasierte Software ist eigentlich nichts Neues. Mit dem Jigsaw-Modulsystem steht seit Java 9 nach über 20 Jahren Java-Entwicklung nun ein natives Sprachmittel zur Verfügung, um Komponenten zu definieren und in der Architektur zu verankern. Was bisher nur mit Tools wie Maven bzw. mit statischer Code-Analyse möglich war, ist nun direkt verfügbar. Wir beleuchten mögliche Komponentendesigns und betrachten bekannte Modularity-Design-Patterns: Wie kann man diese Patterns mit Jigsaw umsetzen, welche Patterns werden unterstützt, welche erfordern zusätzliche Klimmzüge, was geht nicht? Insbesondere betrachten wir Patterns zu Komponentendesign, Abhängigkeiten, Schnittstellen und Test.