Skip to content

Home/Architecture/Domain Architecture (DDD)

Layer 6 of 20

Domain Architecture (DDD)

Domain-driven boundaries: bounded contexts, ubiquitous language, domain services, and anti-corruption layers for clean evolution.

Responsibilities

  • Define bounded contexts and domain ownership.
  • Keep domain invariants stable while allowing evolution.
  • Prevent tight coupling via anti-corruption layers.

Key interfaces

  • Domain APIs and contracts between contexts.
  • Event schemas and integration contracts.
  • Shared language glossary and decision logs.

Operational signals

These are the measurements that tell you whether this layer is healthy in production.

  • Change failure rate by domain boundary.
  • Cross-service dependency depth and coupling indicators.
  • Incident attribution by bounded context.

Failure modes

  • Monolith-by-accident via shared tables and shared mutable models.
  • Leaky abstractions that spread domain rules everywhere.
  • Unowned integration points that silently break.

Production readiness checklist

  • Document context maps; enforce ownership in code review.
  • Keep integrations explicit via events/contracts.
  • Build contract tests for cross-context interfaces.
Domain Architecture (DDD) — HOWFAR Architecture — HOWFAR