Der nachfolgende Text wurden mit KI erstellt und kann Fehler enthalten. Fehler gefunden? Bei GitHub editieren
Domain-Driven Design - Ein vollständiges Beispiel 2/2
Wichtige Keytakeaways
- Taktisches Design ist die konkrete Implementierung von DDD auf Klassenebene.
- Entities, Value Objects und Domain Events sind grundlegende Bausteine.
- Aggregates fassen mehrere Entities und Value Objects zusammen und gewährleisten Konsistenz.
- Repositories bieten eine Abstraktion für den Datenzugriff auf Aggregate.
- Event Sourcing und CQRS sind optionale Patterns für spezifische Anforderungen.
- Layering oder Hexagonale Architektur können für die technische Strukturierung verwendet werden.
Behandelte Kernfragen
- Wie werden DDD-Konzepte konkret in Code umgesetzt?
- Wann sollte Event Sourcing eingesetzt werden?
- Was sind die Vor- und Nachteile von CQRS?
- Worin unterscheiden sich Layering und Hexagonale Architektur?
- Wann ist ein Transaction Script einer DDD-Implementierung vorzuziehen?
Glossar wichtiger Begriffe
- Entity: Objekt mit eigener Identität
- Value Object: Unveränderliches Wertobjekt ohne eigene Identität
- Aggregate: Cluster von Entities und Value Objects mit definierter Konsistenzgrenze
- Repository: Abstrahiert den Datenzugriff auf Aggregate
- Event Sourcing: Speicherung aller zustandsverändernden Events
- CQRS (Command Query Responsibility Segregation): Trennung von Lese- und Schreibmodell
- Hexagonale Architektur: Architekturstil mit Ports und Adaptern zur Entkopplung der Geschäftslogik
- Transaction Script: Einfaches Pattern für Systeme mit wenig Geschäftslogik