Domain-Driven Design
DDD ist ein Softwareentwurfsansatz, der auf der Geschäftsdomäne zentriert ist und mit allgegenwärtiger Sprache, Bounded Contexts sowie Entities/Value Objects modelliert.
Zweck
Die Softwarestruktur an der Geschäftsdomäne ausrichten und komplexe Geschäftslogik beherrschen.
Mechanismus
Allgegenwärtige Sprache: Der Code nutzt Fachbegriffe. Bounded Contexts: Grenzen des Modells. Entities (mit ID), Value Objects (ohne ID), Aggregates (Konsistenzgrenzen), Domänenereignisse. Das strategische Design partitioniert Kontexte, das taktische füllt die Modelle aus.
Anwendungsfälle
- Modellierung komplexer Geschäftsdomänen
- Microservice-Grenzen
- Zusammenarbeit mit Domänenexperten