Design Patterns der OTC-Referenz

Pattern, Zweck, Einsatzort und konkrete Begründung.

Pattern Zweck Einsatzort Begründung
Aggregate Root Invarianten und Statusübergänge domain/Order.java Nur das Aggregate verändert Bestellung und Positionen.
Value Object Validierte unveränderliche Fachwerte Money, OrderId, CustomerId, ProductId Ungültige Zustände werden beim Erzeugen verhindert.
Ports & Adapters Entkopplung application/port und adapter JPA, Kafka, Payment und Inventory bleiben austauschbar.
Saga Verteilte Ablaufsteuerung CheckoutService Bei Inventory-Fehler wird Payment kompensiert.
Transactional Outbox Zuverlässige Events OutboxEntity, JpaOutboxRepositoryAdapter, OutboxRelay DB-Commit und Kafka-Publish werden entkoppelt.
Idempotency Key Doppelte Requests verhindern IdempotencyRepository Wiederholung liefert dieselbe Bestellung.
CQRS Read Model API-Lesemodell OrderView Aggregate wird nicht direkt serialisiert.
Exception Translator Fehler in HTTP übersetzen ApiExceptionHandler Domäne bleibt frei von HTTP-Details.
⌂ Cockpit