Beschreibung
Domain-Driven Design (DDD) in der Praxis
Ziel
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 realisiert, so dass die Teilnehmer einen Einblick in die praktische Umsetzung der DDD-Konzepte erhalten.
Kommende Starttermine
Inhalte / Module
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 (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
- Subdomäne (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 UML-Werkzeug oder als Demonstration in einer Java-Entwicklungsumgebung erledigt werden.
Zielgruppe / 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.
Abschlussqualifikation / Zertifikat
Teilnahmezertifikat
Infos anfordern
GEDOPLAN
Seit 1979 unterstützt GEDOPLAN Beratung und Softwareentwicklung seine Kunden in den Bereichen Beratung, Reviews, Softwareentwicklung. Namhafte Unternehmen betreuen wir als langjährige Kunden, dabei stehen die Programmiersprache Java und die Plattformen Jakarta EE und Spring im Mittelpunkt. Seit mehr als 45...
Erfahren Sie mehr über GEDOPLAN und weitere Kurse des Anbieters.