Domain-Driven Design according to Evans
Details
- Vollständiger Name
-
Domain-Driven Design nach Eric Evans
Kernkonzepte:
- Ubiquitous Language
-
Gemeinsames Vokabular zwischen Entwicklern und Domänenexperten
- Bounded Context
-
Explizite Grenzen, innerhalb derer ein Modell definiert und anwendbar ist
- Aggregates
-
Gruppe von Domänenobjekten, die als Einheit behandelt werden
- Entities
-
Objekte, die durch Identität definiert sind, nicht durch Attribute
- Value Objects
-
Unveränderliche Objekte, die durch ihre Attribute definiert sind
- Repositories
-
Abstraktion für Objektpersistenz und -abruf
- Domain Events
-
Bedeutende Vorkommnisse in der Domäne
- Strategisches Design
-
Context Mapping, Anti-Corruption Layers
- Taktisches Design
-
Bausteine (Entities, Value Objects, Services)
- Model-Driven Design
-
Code, der das Domänenmodell ausdrückt
- Schlüsselvertreter
-
Eric Evans ("Domain-Driven Design: Tackling Complexity in the Heart of Software", 2003)
Wann zu verwenden:
-
Komplexe Geschäftsdomänen mit komplizierten Regeln
-
Langlebige Systeme, die tiefes Domänenverständnis erfordern
-
Wenn Geschäfts- und technische Teams eng zusammenarbeiten müssen
-
Systeme, bei denen die Domänenlogik der Kernwert ist