DDD Tactical Modeling im Java Enterprise Projekt

Aggregates, Entities, Value Objects, Domain Events und Repositories als taktisches Modell für robuste Enterprise-Domänen.

DDDAggregateValue ObjectDomain Event
DDD Tactical Modeling im Java Enterprise Projekt
DDD Tactical Modeling im Java Enterprise Projekt

Aggregate statt Datencontainer

Ein Aggregate schützt eine Konsistenzgrenze. Es ist nicht einfach eine JPA-Entity mit Gettern und Settern. Im Order-Aggregate liegen Regeln wie Mindestmenge, Statusübergänge, Kreditlimit-Reaktion und Domain Events.

Value Objects

Value Objects wie Money, Quantity und CustomerId sind bewusst klein, unveränderlich und fachlich benannt. Dadurch verschwinden viele primitive String-/BigDecimal-Fehler.

DDD-Checkliste

ElementZweckJava-Umsetzung
AggregateKonsistenzgrenzeKlasse mit Methoden statt Setter
Value ObjectFachwert ohne Identitätrecord oder final class
Domain EventGeschehenes Ereignisrecord OrderPlaced(...)
Repository PortPersistenzabsichtInterface im Domain/Application-Rand

Praxisübertragung auf das V4-Beispielprojekt

Entscheidung

Dokumentiere die getroffene Architekturentscheidung als ADR, inklusive Alternativen, Folgen und Betriebsrisiken.

Code-Nachweis

Markiere verwendete Entwurfsmuster direkt im Code und ergänze sie in docs/design-patterns.md.

Betrieb

Definiere Metrik, Alert, Runbook-Schritt und Rollback-Option für diesen Bereich.

Typische Fehlerbilder

  • Framework-Feature wird eingesetzt, ohne fachliche Grenze zu verstehen.
  • Technische Wiederholung wird nicht idempotent gemacht.
  • Observability wird erst nach Produktionsproblem ergänzt.
  • Tests prüfen nur Happy Path und keine Wiederanläufe.
⌂ Cockpit