Schulung: Domain-Driven Design (DDD) in der Praxis

Grundlagen und praktische Nutzung von Domain-Driven Design

  • Umfassender Einstieg in das Thema Domain-Driven Design
  • Betrachtung aller Themen anhand von praxisnahen Fallbeispielen
  • Auf den Teilnehmerkreis angepasste Übungen, um die Inhalte anzuwenden

 

Das Domain-Driven Design (nach E. Evans) findet heutzutage in zweierlei Hinsicht seine Beachtung: als grundlegende Entwicklungsmethodik für fachlich komplexe Unternehmens-Anwendungen einerseits und als Richtschnur für den fachlichen Zuschnitt von Microservices andererseits.

In dieser Schulung lernen die Teilnehmenden die grundlegenden Begriffe und Vorgehensweisen von DDD kennen. Wir zeigen Ihnen, wie durch das Zusammenwirken von Fach- und Software-Expert:innen ein dauerhaft tragfähiges Modell für ein Anwendungs-System entsteht. Aber damit nicht genug: Wir haben ein konkretes Anwendungs-System im Sinne einer Referenz-Implementierung in Java / Jakarta EE realisiert, so dass die Teilnehmenden einen Einblick in die praktische Umsetzung der DDD-Konzepte erhalten. Jedoch sind alle Schulungsinhalte konzeptionell auch auf andere Programmiersprachen wie z. B. C# und Frameworks wie insbesondere Spring (Boot) übertragbar.

 

Domain-Driven Design im Überblick

  • Domäne und Domänen-Modell
  • Gemeinsame fachliche Sprache (Ubiquitous Language)
  • Zerlegung in Bounded Contexts
  • Realisierung durch Building Blocks

Modellierung der Domäne

  • Ermitteln der Fachlichkeit (Domain Storytelling, Event Storming, OOA)
  • Entwickeln der Ubiquitous Language
  • Aufnehmen der Fachlichkeit (DSL von Context Mapper und Sculptor, UML, OOD)

Definition von Bounded Contexts

  • Vertikale, fachliche Schnitte der Anwendung
  • Subdomain (core vs. support vs. generic)
  • Bounded Context als Self-Contained System (SCS)
  • Auswirkungen auf den Entwicklungsprozess und die Projekt-Organisation

Strategisches Design

  • Context Mapping
  • Shared Kernel, Partnership
  • Customer/Supplier
  • Conformist, Anticorruption Layer, Published Language, Open Host Service
  • Separate Ways
  • Context Map und Zyklenfreiheit

Taktisches Design

  • Building Blocks als Klassen-Entwurfsmuster
  • Daten: Attribute, Identifier, Entity, Value, Aggregate
  • Funktionalität: Factory, Repository, Service, Application
  • Kommunikation: Gateway, Event-Messaging, Data Transfer
  • Rich vs. Anemic Domain Model
  • Implementierung mit Jakarta EE

Software-Architektur

  • Modularer Monolith, verteiltes System oder Microservices
  • Software-Technische Auswirkungen (Datenhaltung, Testdaten, Methodenaufrufe)
  • Clean Architecture zur Trennung von Fachlichkeit und Technologien
  • Standardisierte Klassen und deren Qualitätssicherung

Fallbeispiel: Flight Information System (FIS)

Alle behandelten Themen werden vor dem Hintergrund einer Referenz-Implementierung für das gedachte Anwendungs-System "Flight Information System (FIS)" für eine Fluggesellschaft betrachtet. Dadurch können alle Begriffe, Konzepte und Vorgehensweisen anhand dieses praxisnahen Fallbeispiels ganz konkret diskutiert werden. Die Teilnehmenden vertiefen die Schulungsinhalte an diesem Fallbeispiel durch kleine Übungsaufgaben, die je nach Teilnehmerkreis am Flipchart, mit einem DDD-/UML-Werkzeug oder als Demonstration im Java-Code erledigt werden können. Dadurch werden verschiedene Methoden (z. B. Domain Storytelling), Sprachen (z. B. Sculptor-DSL) und Werkzeuge (z. B. Context Mapper) für die praktische Umsetzung von DDD behandelt.

Q&A-Session nach der Schulung
Wir bieten bei dem Kurs allen Teilnehmenden im Nachgang eine individuelle Q&A-Session für Fragen rund um das Thema an. Es sind dabei auch alle interessierten Kolleg:innen eingeladen. Dauer: ca. 1 Stunde, online.

Wir richten uns mit diesem Schulungsangebot an Firmen bzw. Projekte, die einen ersten, umfassenden Einstieg in das Thema Domain-Driven Design suchen. Insofern sprechen wir Abteilungs-/Projektleitende, Software-Architekt:innen, Java-Entwickelnde, Business Analysts bis hin zu QS-/Test-Mitarbeiter:innen gleichermaßen an. Kenntnisse in Objektorientierung allgemein sind wünschenswert; Erfahrungen in der UML-Modellierung oder Java-Entwicklung sind hilfreich, aber keine Voraussetzung.

Schulungstermine

01.10.–02.10.2026Bielefeld2 TageRabatt ab 2 PersonenPlätze frei1.380,00 €Details

01.10.–02.10.2026Berlin2 TageRabatt ab 2 PersonenPlätze frei1.380,00 €Details

01.10.–02.10.2026Online2 TageRabatt ab 2 PersonenPlätze frei1.280,00 €Details

05.11.–06.11.2026Köln / Online2 TagePlätze freisiehe PartnerseiteDetails