Architektura
Expert
DDD Bounded Contexts — hranice domény
Jak definovat bounded contexts v Domain-Driven Design. Context mapping a ubiquitous language.
Co je Bounded Context?
Explicitní hranice, ve které má doménový model jasný význam. Stejný pojem může znamenat něco jiného v různých contextech.
- Sales: Customer = kupující, košík, preference
- Shipping: Customer = adresa doručení, telefon
- Billing: Customer = fakturační údaje, DIČ
Ubiquitous Language
V každém BC existuje jednotný jazyk — vývojáři i doménoví experti mluví stejně.
// Sales Context
class Order {
items: OrderItem[];
applyDiscount(code: string): void;
calculateTotal(): Money;
}
// Shipping Context — jiný jazyk
class Shipment {
recipient: Recipient;
packages: Package[];
estimateDelivery(): Date;
}
Context Mapping
- Partnership — spolupráce dvou týmů
- Customer-Supplier — upstream dodává API
- Anti-Corruption Layer — překlad cizího modelu
- Open Host Service — standardizované API
Shrnutí
Bounded Contexts jsou nejdůležitější koncept DDD. Správné hranice vedou k čistší architektuře a menšímu couplingu. Začněte Event Storming workshopem.
Potřebujete pomoct s implementací?
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.
Nezávazná konzultace