
Patterns, Principles and Practices of Domain Driven Design
Nick Tune, Scott Millett
- Editorial
- Wrox
- Año
- 2015
- Páginas
- ~792
- Nivel
- Intermedio
De qué trata
Manual exhaustivo y pragmático en el que Scott Millett y Nick Tune trasladan la filosofía del Diseño Guiado por el Dominio (DDD) al trabajo cotidiano de ingeniería de software empresarial. Con ejemplos de código escritos principalmente en C# sobre la plataforma .NET (fácilmente comprensibles para desarrolladores de Java o TypeScript), el libro está dirigido a ingenieros de software intermedios y senior, líderes técnicos y arquitectos que enfrentan sistemas con lógicas de negocio complejas y necesitan estructurar aplicaciones desacopladas y sostenibles en el tiempo.
La obra cubre con rigor tanto el diseño estratégico como el táctico de DDD. En el plano estratégico, enseña a delimitar el espacio del problema mediante Bounded Contexts, Lenguaje Ubicuo (Ubiquitous Language), Subdominios (Core, Supporting y Generic), mapas de contexto (Context Mapping) y patrones de integración entre contextos a través de APIs REST y mensajería asíncrona. En el plano táctico, desglosa los bloques de construcción del modelo de dominio: Entidades, Value Objects, Servicios de Dominio, Eventos de Dominio, Agregados y Raíces de Agregado, Factorías y Repositorios. Además, profundiza en patrones arquitectónicos contemporáneos como CQRS (Command Query Responsibility Segregation), Event Sourcing y arquitecturas guiadas por eventos para separar modelos de lectura y escritura.
El aprendizaje se apoya en fragmentos de código e historias de dominios empresariales realistas (como sistemas de logística de envíos, facturación y gestión comercial) que muestran cómo refactorizar modelos anémicos hacia modelos de dominio ricos. Destaca por su enfoque sensato: ayuda a identificar cuándo no conviene aplicar DDD para evitar la sobreingeniería en aplicaciones CRUD sencillas. Deja de lado la infraestructura en la nube o la administración de bases de datos específicas para centrarse en la modelación del software. Conviene contar con bases sólidas en programación orientada a objetos y principios SOLID para asimilar adecuadamente sus casi 800 páginas de patrones avanzados.
- Domain-Driven Design
- DDD
- Bounded Contexts
- Context Mapping
- CQRS
- Event Sourcing
- Arquitectura de software
- C#
- Event-Driven Architecture
- Entidades y Agregados
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

