DDD: Unterschied zwischen den Versionen

Aus Foxwiki
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


[[Category:Projekt]]
[[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

  1. https://de.wikipedia.org/wiki/Domain-driven_Design
  2. Buch:TYPO3 Extbase - Autor:Patrick Lobacher - Verlag:open source press


OP-Ticket:https://projekte.foxtom.de/projects/testtool/work_packages/740/activity