Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

DDD Bounded Contexts — hranice domény

01. 01. 2024 1 min čtení intermediate

Architektura Expert

DDD Bounded Contexts — hranice domény

DDDBounded ContextDomain 3 min čtení

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