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.