## TL;DR

Domain-Driven Design (Eric Evans, 2003) focuses software design on the core business domain, with a shared language (Ubiquitous Language) between developers and domain experts. The code models the business, using the same terms. DDD is not about technology patterns — it's about understanding the problem deeply.

## Core Explanation

Ubiquitous Language: same terms in code, conversation, and documentation. Bounded Context: each subdomain has its own model (Sales ≠ Support). Entities: objects with identity (User, Order). Value Objects: immutable, defined by attributes (Money, Address). Aggregates: cluster of objects treated as single unit (Order + OrderItems). Domain Events: record significant business occurrences.

## Further Reading

- [Domain-Driven Design (Eric Evans)](undefined)