DDD: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Textersetzung - „:Programmplanung“ durch „:Vorgehensmodell_(Software)“ |
||
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Domain-Driven Design (DDD) ist eine Herangehensweise an die Modellierung komplexer Software. | Domain-Driven Design (DDD) ist eine Herangehensweise an die Modellierung komplexer Software. Wurde 2003 von Eric Evans in seinem gleichnamigen Buch geprägt. | ||
==Beschreibung== | ==Beschreibung== | ||
Zeile 34: | Zeile 34: | ||
===Serviceobjekte=== | ===Serviceobjekte=== | ||
*Sind für die Kommunikation der Objekte zuständig | *Sind für die Kommunikation der Objekte zuständig | ||
*Service verarbeiten als Eingabe und/oder Ausgabe Entitäten bzw. Wertobjekte | *Service verarbeiten als Eingabe und/oder Ausgabe Entitäten bzw. Wertobjekte | ||
===Fabriken=== | ===Fabriken=== | ||
Zeile 42: | Zeile 42: | ||
*Abstrahieren die Persistierung und Suche von Fachobjekten | *Abstrahieren die Persistierung und Suche von Fachobjekten | ||
===MVC=== | ===[[Model View Controller|MVC]]=== | ||
*Bildet das Layered Architecture für DDD | *Bildet das Layered Architecture für DDD | ||
Zeile 52: | Zeile 52: | ||
OP-Ticket:https://projekte.foxtom.de/projects/testtool/work_packages/740/activity | OP-Ticket:https://projekte.foxtom.de/projects/testtool/work_packages/740/activity | ||
[[ | [[Kategorie:Vorgehensmodell_(Software)]] |
Aktuelle Version vom 14. Juli 2023, 08:55 Uhr
Domain-Driven Design (DDD) ist eine Herangehensweise an die Modellierung komplexer Software. Wurde 2003 von Eric Evans in seinem gleichnamigen Buch geprägt.
Beschreibung
- Basiert auf zwei Annahmen:
- Schwerpunkt des Softwaredesigns liegt auf Fachlichkeit und Fachlogik
- Entwurf fachlicher Zusammenhänge sollte auf einem Fachmodell basieren
- Problemfeld wird im DDD als Anwendungsebene bezeichnet
- Im Mittelpunkt steht die Domäne
Konzept
- Konzentration auf die Domäne des Kunden
- Anderes, wie Infrastruktur, steht im Hintergrund
- Anwendung von ubiquitäre Sprache(Allgegenwärtige Sprache)
- Entwurf der Software über ein Model (Domain Model)
Bestandteile des Domänenmodells
Entitäten
- Objekte, die durch ihre Identität definiert werden
- Meist durch eindeutige Identifikatoren modelliert
Wertobjekte
- Objekte, die durch ihre Eigenschaften definiert werden
- Meistens als unveränderliche Objekte modelliert
Assoziationen
- Beziehungen zwischen zwei oder mehr Objekten
- Angelehnt an die SQL-Relationen: 1:1,1:n,n:1,m:n
Aggregate
- Zusammenfassungen von Entitäten und Wertobjekten
- Dient der Zugriffskontrolle, eine Entität hat als einziger Zugriff auf das Aggregat
Serviceobjekte
- Sind für die Kommunikation der Objekte zuständig
- Service verarbeiten als Eingabe und/oder Ausgabe Entitäten bzw. Wertobjekte
Fabriken
- Erzeugung von Fachobjekten in Fabrik-Objekte verlagern
Repositories
- Abstrahieren die Persistierung und Suche von Fachobjekten
MVC
- Bildet das Layered Architecture für DDD
Quellen
- https://de.wikipedia.org/wiki/Domain-driven_Design
- Buch:TYPO3 Extbase - Autor:Patrick Lobacher - Verlag:open source press
OP-Ticket:https://projekte.foxtom.de/projects/testtool/work_packages/740/activity