Architektur Experte
DDD Bounded Contexts — Domänengrenzen¶
DDDBounded ContextDomain 3 Min. Lesezeit
Wie man Bounded Contexts im Domain-Driven Design definiert. Context Mapping und Ubiquitous Language.
Was ist ein Bounded Context?¶
Eine explizite Grenze, innerhalb derer ein Domänenmodell eine klare Bedeutung hat. Derselbe Begriff kann in verschiedenen Kontexten etwas anderes bedeuten.
- Sales: Customer = Käufer, Warenkorb, Präferenzen
- Shipping: Customer = Lieferadresse, Telefonnummer
- Billing: Customer = Rechnungsdaten, Steuernummer
Ubiquitous Language¶
Innerhalb jedes BC existiert eine einheitliche Sprache — Entwickler und Domänenexperten sprechen gleich.
// Sales Context
class Order {
items: OrderItem[];
applyDiscount(code: string): void;
calculateTotal(): Money;
}
// Shipping Context — andere Sprache
class Shipment {
recipient: Recipient;
packages: Package[];
estimateDelivery(): Date;
}
Context Mapping¶
- Partnership — Zusammenarbeit zweier Teams
- Customer-Supplier — Upstream liefert API
- Anti-Corruption Layer — Übersetzung eines fremden Modells
- Open Host Service — standardisierte API
Zusammenfassung¶
Bounded Contexts sind das wichtigste Konzept im DDD. Korrekte Grenzen führen zu sauberer Architektur und weniger Kopplung. Beginnen Sie mit einem Event Storming Workshop.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.