Domain-Driven Design
DDD es un enfoque de diseño de software centrado en el dominio del negocio, que modela con lenguaje ubicuo, contextos acotados y entidades/objetos valor.
Propósito
Alinear la estructura del software con el dominio del negocio, gestionando lógica de negocio compleja.
Mecanismo
Lenguaje ubicuo: el código usa términos del negocio. Contextos acotados: fronteras del modelo. Entidades (con ID), objetos valor (sin ID), agregados (fronteras de consistencia), eventos de dominio. El diseño estratégico particiona los contextos; el táctico completa los modelos.
Casos de uso
- Modelado de negocios complejos
- Fronteras de microservicios
- Colaboración con expertos del dominio