TE140_Doman_Driven_Design_Z Flashcards
Was ist Domain-Driven Design (DDD)?
Domain-Driven Design (DDD) ist eine Herangehensweise zur Modellierung von Enterprise-Software, die auf der Fokussierung auf die Anwendungsdomäne basiert. DDD hilft dabei, komplexe Software durch die Nutzung einer gemeinsamen Sprache und die Trennung der Geschäftslogik von technischen Details zu entwickeln.
Wann wurde das Buch “Domain-Driven Design: Tackling Complexity in the Heart of Software” veröffentlicht und von wem?
Das Buch wurde 2003 von Eric Evans veröffentlicht.
Was ist die ubiquitäre Domänensprache in DDD?
Die ubiquitäre Domänensprache ist eine gemeinsame Sprache, die von Domänenexperten, Architekten und Entwicklern verwendet wird, um Missverständnisse zu vermeiden und klare Kommunikation zu gewährleisten.
Warum ist iteratives Arbeiten ein Kernkonzept des DDD?
Iteratives Arbeiten ermöglicht es, Modelle kontinuierlich zu verfeinern und anzupassen, indem agile Methoden und parallele Disziplinen genutzt werden. Dies hilft, die Software flexibel und anpassungsfähig zu halten.
Was ist eine Entity in DDD?
Eine Entity ist ein Objekt mit Identität und sich verändernden Zuständen, das die Geschäftslogik abbildet und eine lange Lebensdauer hat. Entities werden über Services erreicht und stellen die Domain-Logik zur Verfügung.
Was ist ein Value Object in DDD?
Ein Value Object ist ein Objekt ohne Identität, das konstant ist und meist nur kurz lebt. Es dient als Datenobjekt für Entities und unterstützt das Data Access Object Pattern.
Welche Rolle spielen Services in DDD?
Services bieten schlanke Schnittstellen für den Zugriff und die Verwaltung von Entities und Value Objects. Sie sind zustandslos und beachten das Single Responsibility Principle (SOLID).
Was sind Associations in DDD?
Associations definieren Beziehungen zwischen Objekten, wobei enge Kopplung nur dort verwendet wird, wo sie sinnvoll ist.
Wie werden Module/Packages in DDD verwendet?
Module/Packages gruppieren verwandte Entities und Value Objects, um hohe Kohäsion und niedrige Kopplung zu gewährleisten.
Was ist ein Bounded Context in DDD?
Ein Bounded Context ist eine begrenzte Subdomäne, die von einem Team bearbeitet wird und oft ein eigenes Repository hat.
Was ist ein Aggregate in DDD?
Ein Aggregate ist eine Einheit, die aus verschiedenen Domain-Bausteinen besteht und eine Transaktionseinheit bildet. Es hat genau ein Aggregate Root, das die Integrität sicherstellt.
Was versteht man unter evolutionärer Entwicklung in DDD?
Evolutionäre Entwicklung bedeutet, dass man mit enger Kopplung beginnt und schrittweise zu loser Kopplung übergeht, indem Messaging Middleware (SOAP, JSON, XML) und Domain Events verwendet werden.