Architektur

Domain-Driven Design für Microservices: Bounded Contexts und Aggregates

DDD für Microservices: Bounded Contexts, Aggregates, Entities, Value Objects, Domain Events, Context Mapping und Event Storming.

C
CFTools Software
Autor
13. Dezember 2025
6 min Lesezeit

Domain-Driven Design für Microservices

DDD Grundkonzepte

Ubiquitous Language

  • Gemeinsame Sprache
  • Fachbegriffe im Code
  • Kommunikation vereinfacht
  • Missverständnisse reduziert

Bounded Context

  • Explizite Grenze
  • Eigenes Modell innerhalb
  • Unabhängige Entwicklung
  • Basis für Service-Schnitt

Taktische Patterns

Entity

  • Identität über Zeit
  • Veränderlicher Zustand
  • Primärschlüssel/ID
  • Lifecycle Management

Value Object

  • Keine Identität
  • Unveränderlich (Immutable)
  • Gleichheit durch Werte
  • Beispiel: Address, Money

Aggregate

  • Konsistenzgrenze
  • Root Entity
  • Transaktionale Einheit
  • Referenzen nur über Root

Domain Event

  • Etwas ist passiert
  • Vergangenheitsform (OrderPlaced)
  • Trigger für Reaktionen
  • Event Sourcing Basis

Repository

  • Persistenz-Abstraktion
  • Collection-ähnliches Interface
  • Aggregate-orientiert

Domain Service

  • Domänenlogik ohne Entity
  • Stateless Operations
  • Cross-Aggregate Logic

Strategische Patterns

Context Mapping

  • Beziehungen zwischen Contexts
  • Integration Patterns
  • Abhängigkeiten visualisiert

Relationship Patterns

  • Partnership
  • Shared Kernel
  • Customer-Supplier
  • Conformist
  • Anti-Corruption Layer
  • Open Host Service
  • Published Language

Event Storming

Workshop-Format

  • Domain Events sammeln
  • Timeline erstellen
  • Commands identifizieren
  • Aggregates finden
  • Bounded Contexts ableiten

Artefakte

  • Event Timeline
  • Commands und Policies
  • Aggregate Boundaries
  • Context Map

Microservices-Schnitt

Regeln

  • Ein Service = Ein Bounded Context
  • Kommunikation über APIs
  • Geteilte Kernel vermeiden
  • Anti-Corruption Layer nutzen

Typische Contexts

  • Ordering Context
  • Inventory Context
  • Shipping Context
  • Billing Context
  • Customer Context

Implementierung

Hexagonale Architektur

  • Domain im Zentrum
  • Ports und Adapters
  • Infrastruktur außen

Clean Architecture

  • Dependency Inversion
  • Use Cases
  • Entities unabhängig

Best Practices

  1. Mit Fachexperten arbeiten
  2. Ubiquitous Language pflegen
  3. Context Boundaries respektieren
  4. Kleine Aggregates bevorzugen
  5. Domain Events nutzen

CFTools Software wendet DDD-Prinzipien bei der Microservices-Entwicklung an.

Tags:
DDD
Domain-Driven Design
Bounded Context
Aggregates
Event Storming
Microservices
C

CFTools Software

Geschäftsführer und Gründer von CFTools Software GmbH. Leidenschaftlich in der Entwicklung skalierbarer Softwarelösungen und Cloud-Native-Architekturen.

Artikel nicht verfügbar

Dieser Artikel ist für Ihren Zugangstyp nicht verfügbar.

Alle Artikel anzeigen