IPS IT Schulung & Consulting

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 eines praxisnahen Fallbeispiels.
  • Auf den Teilnehmerkreis angepasste Übungen um die Inhalte anzuwenden.
  • Inkl. Q&A-Session nach dem Kurs, s. Agenda.

Beschreibung

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 Teilnehmer die grundlegenden Begriffe und Vorgehensweisen von DDD kennen. Wir zeigen Ihnen, wie durch das Zusammenwirken von Fach- und Software-Experten 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 Teilnehmer einen Einblick in die praktische Umsetzung der DDD-Konzepte erhalten. Jedoch sind alle Schulungsinhalte konzeptionell auch auf andere Programmiersprachen und Frameworks wie insbesondere Spring (Boot) übertragbar.

Wir bieten bei dem Kurs allen Teilnehmern im Nachgang eine individuelle Q&A-Session für Fragen rund um das Thema an. Es sind dabei auch alle interessierte Kollegen eingeladen. Dauer: ca. 1 Stunde, online.

Agenda

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 Organisation

Strategisches Design

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

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 Teilnehmer 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 dem Kurs
Wir bieten bei dem Kurs allen Teilnehmern im Nachgang eine individuelle Q&A-Session für Fragen rund um das Thema an. Es sind dabei auch alle interessierte Kollegen eingeladen. Dauer: ca. 1 Stunde, online.

Teilnehmerkreis und Voraussetzungen

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-/Projektleiter, Software-Architekten, Java-Entwickler, Business Analysts bis hin zu QS-/Test-Mitarbeitern gleichermaßen an. Kenntnisse in Objektorientierung allgemein sind wünschenswert; Erfahrungen in der UML-Modellierung oder Java-Entwicklung sind hilfreich, aber keine Voraussetzung.

FIRMENSCHULUNG zu dem Thema?

Dieses Kursthema bieten wir Ihnen auch als maßgeschneiderte Firmenschulung an.

Das sagen Kursteilnehmer

Es wurden keine Ergebnisse gefunden.