Domain-Driven Design
Domain-Driven Design (DDD) ist ein Ansatz, Software um ein Modell der Fachdomäne zu bauen, das gemeinsam mit Fachexperten entsteht. Er eignet sich besonders für komplexe Domänen. Der Begriff stammt aus dem Buch von Eric Evans (2003). Vaughn Vernon beschrieb 2013 die Umsetzung.

DDD besteht aus zwei Teilen und einer gemeinsamen Sprache:
- Strategisches Design: Domain in Subdomains gliedern, Bounded Contexts schneiden und ihre Beziehungen in einer Context Map festhalten.
- Taktisches Design: das Modell im Code ausdrücken, mit Entity, Value Object, Aggregate, Domain Event, Repository und anderen Mustern.
- Ubiquitous Language: die gemeinsame Sprache von Fachleuten und Entwicklung, im Gespräch wie im Code.
DDD ist kein Alles-oder-nichts: Man kann nur die Entdeckung, nur das strategische Design oder nur leichte Modellierung im Code einsetzen. Zum Entdecken dient zum Beispiel Event Storming. Zur Verbindung mit Teamstrukturen siehe Team Topologies.
Kommentare
Die Kommentare brauchen JavaScript.