In diesem Training lernst du, wie du DDD-Konzepte systematisch in Spring-Boot-Anwendungen umsetzt. Du erfährst, wie du mit Event Storming Bounded Contexts identifizierst, diese mit Spring Modulith als Module strukturierst und mit ArchUnit sowie jMolecules architektonisch absicherst. Dabei arbeiten wir durchgehend an einer realistischen Hotel-Legacy-Codebase, die typische Probleme gewachsener Monolithen aufweist – so kannst du das Gelernte direkt auf deine eigenen Projekte übertragen.
Warum Domain-driven Design mit Spring Boot?
Viele Spring-Boot-Anwendungen starten gut strukturiert – doch mit wachsender Komplexität verschwimmen die Grenzen zwischen fachlichen Bereichen. Was als übersichtlicher Monolith begann, wird zum „Big Ball of Mud“: Services rufen sich gegenseitig auf, Entitäten wuchern über Modulgrenzen hinweg, und niemand traut sich mehr, größere Änderungen vorzunehmen. Domain-driven Design (DDD) bietet bewährte Strategien, um dieser Erosion entgegenzuwirken. Es hilft, fachliche Grenzen zu erkennen, eine gemeinsame Sprache mit dem Business zu etablieren und die Softwarearchitektur konsequent an der Domäne auszurichten.
Wie der „DORA State of AI-based Software Development“ Report zeigt, verstärkt der Einsatz von Coding Agents sowohl die guten als auch die schlechten Eigenschaften bestehender Codebasen. Das heißt, zu gutem, sauber modelliertem Code kann die KI qualitativ guten Code hinzufügen, basierend auf qualitativ schlechten Ausgangsbasis wird die Qualität beim Einsatz dieser Tools weiter abnehmen. Daher bleiben Domain-Driven Design und Clean Code auch in Zukunft höchst relevante Skills.
Agenda
DDD Fundamentals
- Strategic Design
- Collaborative Modelling: Event Storming
- Bounded Contexts
- Context Mapping
- Ubiquitous Language
- Tactical Design
- Entities, Value Objects, Aggregates
- Repositories & Domain Services
- Domain Events
Modern Spring Architecture
- Modulare Monolithen
- Application Modules mit Spring Modulith
- Module Testing & Dokumentation
- Reichhaltiges fachliches Domänenmodell
- Taktisches Design im Code mit jMolecules
- Testen der taktischen Struktur
- Clean Code
- Architekturstile
- Layered/Hexagonal/Onion Architecture
- Verwendung vordefinierter ArchUnit-Architekturregeln
Migration & Evolution
- DDD in bestehenden Systemen einführen
- Bounded Contexts im Legacy-Code identifizieren
- Strangler Fig Pattern & inkrementelle Modernisierung
- Ausblick: Vom Modulith zum Microservice
Optional
- Clean Architecture
- Event-basierte Kommunikation
- CQRS & Event Sourcing
Dein Nutzen
Du verstehst Strategic und Tactical Design und kannst mit Event Storming fachliche Grenzen identifizieren – das Werkzeugset, das du sofort in deinem Projekt einsetzen kannst.
Du weißt, wie Spring Modulith, ArchUnit und jMolecules DDD-Konzepte technisch unterstützen und durchsetzbar machen – executable architecture statt Theorie.
Du lernst, wie du DDD inkrementell in bestehende Systeme einführst – ohne Big Bang Rewrite, mit bewährten Strategien wie Strangler Fig.
Durch die Arbeit an einer realistischen Legacy-Codebase übst du genau die Situationen, die dir im Arbeitsalltag begegnen.
Zielgruppe
- Erfahrene Spring-Boot-Entwickler:innen, die ihre Anwendungen besser strukturieren und langfristig wartbar halten möchten.
- Software-Architekt:innen, die DDD-Konzepte verstehen und in ihren Teams etablieren wollen.
- Tech Leads und Senior Developer, die vor der Herausforderung stehen, gewachsene Monolithen zu modernisieren, ohne alles neu zu schreiben.
Voraussetzungen
- Solide Kenntnisse in Java und Spring Boot (Controller, Services, Repositories, Dependency Injection)
- Grundlegendes Verständnis von Softwarearchitektur
- Eigener Laptop mit IDE und Java 17+
Lernziele
Event Storming durchführen und die Ergebnisse in Bounded Contexts übersetzen.
Tactical Patterns implementieren (Entities, Value Objects, Aggregates) und verstehen, wie sie sich von typischen Spring-Patterns unterscheiden.
Spring Modulith einsetzen, um Module zu definieren, zu testen und über Events kommunizieren zu lassen.
Architekturregeln absichern mit ArchUnit und jMolecules.
DDD in bestehende Systeme einführen – inkrementell und ohne Big Bang Rewrite.
Deine Trainer:innen
Martin Günther
Domain-driven Design, kollaborative Modellierung, moderne Softwarearchitektur
- Legacy-Modernisierung mit DDD und Spring Boot
Martin Günther ist selbständiger Softwarearchitekt und technischer Coach mit Schwerpunkt auf Domain-Driven Design (DDD), kollaborativer Modellierung und moderner Softwarearchitektur. Er unterstützt Unternehmen dabei, komplexe Domänen zu verstehen, tragfähige Architekturen zu entwickeln und interdisziplinäre Teams wirkungsvoll zusammenzubringen. Mit tiefem technischem Verständnis und aktiver Entwicklungspraxis behält er dabei sowohl das große Ganze als auch die Implementierungsdetails im Blick. Mit Leidenschaft für strukturierte Zusammenarbeit moderiert er Workshops und nutzt Methoden wie Event Storming oder Liberating Structures, um Teams zu kreativen Ideen und praxistauglichen Lösungen zu führen. Martin Günther teilt sein Wissen regelmäßig auf nationalen und internationalen Konferenzen in Form von Vorträgen und interaktiven Sessions.
Nicole Rauch
Domain-driven Design, React/Redux, Clean Code, Funktionale Programmierung
- Legacy-Modernisierung mit DDD und Spring Boot
Nicole Rauch ist freiberufliche Softwareentwicklerin und Softwareentwicklungscoach mit umfangreichem Hintergrund in Compilerbau und formalen Verifikationsmethoden. Neben Specification by Example, Domain-Driven Design, React/Redux und Clean Code/Software Craftsmanship gehört auch funktionale Programmierung zu ihrem Repertoire. Des weiteren ist sie Fachbeiratsmitglied bzw. Mitorganisatorin mehrerer Konferenzen sowie einer Fachzeitschrift und Mitbegründerin der Softwerkskammer, einer deutschsprachigen User Community zum Thema Software Craftsmanship.
Inhouse Training
Du kannst dieses Training auch als Inhouse-Training exklusiv für dein Team buchen. Bitte nutze dafür unser Anfrage-Formular.
Jetzt anfragenRelevante weitere Trainings
Spring Boot Essentials
In vier Tagen zum fundierten Verständnis von Spring Boot – mit praxisnahen Beispielen für robuste und moderne Anwendungen.
auf Anfrage
Lerne alles, um erfolgreich Projekte mit Spring Boot zu realisieren.
Domain-driven Design in der Praxis
Software-Architektur mit DDD entwerfen
Technik —Methodik 20Kommunikation 10ab 2.025 €
iSAQB® Modul DDD
Steige noch tiefer in das Thema Domain-driven Design ein.
auf Anfrage
Workshop
Erfahre, wie dir Methoden aus dem Domain-driven Design helfen können, deine Legacy-Anwendung zu sanieren.