Domain-Driven Design
ApplicationThe business domain as the center of the architecture
Principles
Ubiquitous LanguageBounded ContextsAggregates as unit of consistencyDomain Events for communication
When to use
Complex domains, close collaboration with business, evolving systems
When not to use
Simple CRUD, well-known domains, rapid prototypes
Pros and Cons
Ventajas
- + Model aligned with the business
- + Clear communication between technical and business teams
- + Clear boundaries between contexts
- + Handles domain complexity
Desventajas
- - High learning curve
- - Overhead for simple domains
- - Requires available domain experts