Domain-Driven Design (DDD) ist ein Konzept, das darauf abzielt, die Komplexität von Softwareprojekten zu bewältigen, indem es die Domäne des Problems in den Mittelpunkt stellt. Es fördert die enge Zusammenarbeit zwischen Fachexperten und Entwicklern, um ein gemeinsames Verständnis der Domäne zu schaffen und effektive Modelle zu entwickeln.
Nutze diesen Steckbrief, um den Baustein kurz zu verstehen, ihn im Modell einzuordnen und bei Bedarf in die 360°-Bewertung zu wechseln.
Theoretisches Gebilde: erklärt einen Begriff, ein Prinzip oder ein Denkmodell.
Was Zusammenhänge ordnet, verbindet oder entscheidbar macht.
Domain-Driven Design (DDD) ist ein Ansatz für die Entwicklung fachlich komplexer Softwaresysteme. Fachleute und Entwickler entwickeln dabei ein gemeinsames Modell der Domäne und verwenden dafür eine gemeinsame, präzise Sprache.
DDD stammt aus der Welt komplexer Unternehmenssoftware und wurde vor allem durch Eric Evans' Buch „Domain-Driven Design“ geprägt. Der Ansatz hilft besonders dort, wo fachliche Regeln, Begriffe und Abläufe den eigentlichen Kern eines Systems bilden.
DDD lässt sich in zwei Ebenen denken: Strategisches Design teilt eine große Domäne in klar abgegrenzte Kontexte und beschreibt deren Beziehungen. Taktisches Design bietet Bausteine wie Entities, Value Objects, Aggregates und Domain Events, um das Modell innerhalb eines solchen Kontexts im Code auszudrücken. Die Ubiquitous Language verbindet beide Ebenen: Dieselben fachlichen Begriffe werden in Gesprächen, Modellen und Software verwendet.
Eine bewusst vereinfachte Darstellung der fachlichen Begriffe, Regeln und Zusammenhänge, die für das System wichtig sind.
Eine gemeinsame Sprache, die Fachleute und Entwickler konsequent in Gesprächen, Dokumentation und Code verwenden.
Eine klare Grenze, innerhalb derer ein Modell und seine Begriffe eine eindeutige Bedeutung haben.
Ordnet Domänen, Subdomänen und Bounded Contexts und macht deren organisatorische und technische Beziehungen sichtbar.
Stellt konkrete Modellierungsbausteine bereit, mit denen fachliches Verhalten im Code ausgedrückt wird.
DDD ist besonders nützlich, wenn ein Team fachliche Komplexität verstehen, Verantwortungsgrenzen schneiden oder eine Softwarearchitektur eng an der Geschäftsdomäne ausrichten muss. Es schafft Orientierung, bevor technische Lösungen und Organisationszuschnitte festgelegt werden.
Wo dieser Baustein im Themenmodell verortet ist.
Erkunde, wie dieser Wissensbaustein mit Konzepten, Methoden, Technologien und Tools verbunden ist.
Diese Quellen belegen den Begriff und seine fachliche Bedeutung.
Alle direkten Verbindungen des aktuellen Wissensbausteins in einer kompakten, textuellen Darstellung.
Diese Einordnung zeigt, in welchem Kontext der Baustein typischerweise relevant wird, wie anspruchsvoll er ist und welche Wirkung er im Modell hat.
Die Ebene innerhalb der Organisation (Unternehmen, Domäne, Team), auf der der AssetBlock angewendet wird.