Domain-Driven Design

Problem

Entwickler modellieren ein komplexes Geschäft mit technischen Konzepten: CustomerTable StatusCode ProcessFlag Aber Business-Experten sprechen über Verträge, Ansprüche, Richtlinien und Verlängerungen. Software und Business beschreiben unterschiedliche Welten.

Lösung — Domain-Driven Design

Modellierung von Software rund um Geschäftskonzepte und Sprache. Versicherungspolice Schadensfall Deckung Verlängerung Bei reinen Datenmodellen hält die Anwendungsschicht die Geschäftsregeln. Ein reiches DDD-Modell behält die Regeln mit den Daten: Order.Cancel() erzwingt Stornierungsregeln, während die Anwendungsschicht die Bestellung lädt, Cancel() aufruft und speichert. Onion und Clean Architecture organisieren Abhängigkeiten und können beide Modellstile unterstützen. DDD konzentriert sich auf Geschäftsbedeutung, Regeln und Grenzen. Die Unterscheidung lautet: reine Datenmodelle gegenüber Modellen mit eigenem Verhalten.
Kerngedanke: DDD modelliert Geschäftskonzepte, Regeln und Grenzen in der Software.