
Curso de Domain-Driven Design (DDD)
Domina el Diseño Guiado por el Dominio y construye software que refleje con precisión la compleja realidad del negocio. Este curso te lleva desde la filosofía central de DDD hasta patrones estratégicos y tácticos avanzados, cubriendo agregados, contextos acotados, eventos de dominio y arquitectura hexagonal. Ya sea que estés diseñando sistemas nuevos o desenredando bases de código heredadas, obtendrás las herramientas para modelar dominios con precisión y confianza.
Lo que vas a aprender:
Aprenderás a aplicar patrones DDD tanto estratégicos como tácticos en sistemas de software reales. El curso cubre conceptos fundamentales como el lenguaje ubicuo y la descomposición en subdominios, para luego avanzar hacia bloques de construcción como entidades, objetos de valor, agregados, repositorios y servicios de dominio. Diseñarás contextos acotados, producirás mapas de contexto e implementarás arquitecturas orientadas a eventos utilizando eventos de dominio y sagas. Los temas avanzados incluyen CQRS, arquitectura hexagonal, abastecimiento de eventos y migración incremental de sistemas heredados. También desarrollarás habilidades prácticas en facilitación de Event Storming, colaboración con expertos de dominio y estrategias exhaustivas de prueba en DDD.
Cómo estudias de forma práctica Curso de Domain-Driven Design (DDD)
Cómo practicas Curso de Domain-Driven Design (DDD)
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos del Diseño Dirigido por el Dominio
Fundamentos del Diseño Dirigido por el Dominio
Lección 1 • Expertos del Dominio y Colaboración
Cubre técnicas para involucrar a los expertos del dominio como socios activos de diseño. Los estudiantes practican conversaciones de trituración de conocimiento y talleres estructurados.
Lección 2 • Patrones Estratégicos vs. Tácticos de DDD
Distingue las dos familias de patrones y explica cómo se complementan entre sí. Establece la hoja de ruta de aprendizaje para el resto del curso.
Lección 3 • El Concepto de Lenguaje Ubicuo
Introduce el lenguaje compartido entre desarrolladores y expertos del dominio como la práctica fundacional de DDD. Los estudiantes aprenden a identificar y construir un glosario vivo.
Lección 4 • Comprender el Dominio y los Subdominios
Enseña la descomposición de un dominio de negocio en subdominios núcleo, de soporte y genéricos. Los estudiantes aplican esto a escenarios reales para priorizar la inversión en diseño.
Lección 5 • ¿Qué es el Diseño Dirigido por el Dominio?
Define DDD como una filosofía de software centrada en la complejidad del dominio de negocio. Fundamenta a los estudiantes en la motivación antes de introducir cualquier patrón táctico.
Capítulo 2OcultarOcultar detallesVer detallesBloques de Construcción: Entidades y Objetos de Valor
Bloques de Construcción: Entidades y Objetos de Valor
Lección 1 • Elegir entre Entidades y Objetos de Valor
Proporciona criterios de decisión para clasificar correctamente los conceptos del dominio. Los estudiantes analizan casos ambiguos y justifican sus elecciones de modelado.
Lección 2 • Modelar un Comportamiento de Dominio Rico
Va más allá de los contenedores de datos para colocar la lógica de negocio dentro de los objetos del dominio. Los estudiantes implementan métodos del dominio que hacen cumplir las invariantes.
Lección 3 • Patrones de Implementación Prácticos
Traduce modelos conceptuales en estructuras de código funcionales. Los estudiantes aplican métodos de fábrica, constructores de copia y anulaciones de igualdad.
Lección 4 • Entidades: Identidad y Ciclo de Vida
Define las entidades como objetos con una identidad continua a través de los cambios de estado. Los estudiantes aprenden estrategias de asignación de identidad y gestión del ciclo de vida.
Lección 5 • Objetos de Valor: Inmutabilidad e Igualdad
Cubre los objetos de valor como conceptos del dominio descriptivos y libres de efectos secundarios. Los estudiantes implementan la inmutabilidad y la igualdad estructural en el código.
Capítulo 3OcultarOcultar detallesVer detallesAgregados y Raíces de Agregado
Agregados y Raíces de Agregado
Lección 1 • Fundamentos de los Agregados
Define los agregados como unidades de consistencia compuestas por entidades y objetos de valor. Los estudiantes aprenden por qué existen los agregados y qué problemas resuelven.
Lección 2 • El Rol de la Raíz del Agregado
Explica la entidad raíz como el único punto de acceso externo para un agregado. Los estudiantes implementan el acceso controlado por la raíz y la referencia por identidad.
Lección 3 • Invariantes del Agregado y Validación
Cubre la aplicación de reglas de negocio que abarcan múltiples objetos dentro de un agregado. Los estudiantes escriben verificaciones de invariantes activadas por comandos que cambian el estado.
Lección 4 • Comunicación entre Agregados
Aborda cómo los agregados interactúan sin violar el aislamiento. Los estudiantes usan eventos de dominio y consistencia eventual para coordinar a través de los límites.
Lección 5 • Diseñar los Límites del Agregado
Enseña heurísticas para trazar los límites correctos del agregado. Los estudiantes evitan agregados demasiado grandes y los problemas de concurrencia que causan.
Capítulo 4OcultarOcultar detallesVer detallesRepositorios, Fábricas y Servicios de Dominio
Repositorios, Fábricas y Servicios de Dominio
Lección 1 • Servicios de Dominio para Lógica sin Estado
Identifica operaciones que no pertenecen a una sola entidad u objeto de valor. Los estudiantes implementan servicios de dominio que expresan lógica de negocio pura.
Lección 2 • Patrón Fábrica en DDD
Explica las fábricas como encapsuladoras de lógica de creación compleja. Los estudiantes construyen fábricas que imponen invariantes durante la construcción de objetos.
Lección 3 • Estrategias de Implementación de Repositorios
Cubre implementaciones concretas de repositorios y sus compensaciones. Los estudiantes mapean raíces de agregado a almacenes de persistencia sin filtrar infraestructura al dominio.
Lección 4 • Integrar los Patrones de Soporte
Muestra cómo los repositorios, fábricas y servicios colaboran en un caso de uso completo. Los estudiantes rastrean un comando desde la capa de aplicación a través del dominio y de vuelta.
Lección 5 • Fundamentos del Patrón Repositorio
Define los repositorios como abstracciones tipo colección sobre la persistencia. Los estudiantes implementan interfaces de repositorio que ocultan la tecnología de almacenamiento del dominio.
Capítulo 5OcultarOcultar detallesVer detallesContextos Delimitados y Mapeo de Contextos
Contextos Delimitados y Mapeo de Contextos
Lección 1 • Patrones de Mapeo de Contextos
Presenta el catálogo completo de patrones de relación de contexto. Los estudiantes seleccionan los patrones apropiados según la dinámica del equipo y las necesidades de integración.
Lección 2 • Fundamentos del Contexto Delimitado
Define un contexto delimitado como un límite explícito dentro del cual un modelo es consistente. Los estudiantes identifican los límites del contexto en sistemas existentes.
Lección 3 • Dibujar y Documentar Mapas de Contexto
Enseña la notación y las herramientas para producir mapas de contexto legibles. Los estudiantes crean mapas que comunican los contratos de integración a todos los interesados.
Lección 4 • Diseño de la Capa Anticorrupción
Profundiza en la ACL como un límite de traducción que protege el modelo de dominio. Los estudiantes implementan adaptadores y traductores que aíslan los conceptos del modelo externo.
Lección 5 • Topologías de Equipo y Propiedad del Contexto
Conecta el diseño del contexto delimitado con la estructura del equipo y la Ley de Conway. Los estudiantes alinean los límites del contexto con la carga cognitiva del equipo y las rutas de comunicación.
Capítulo 6OcultarOcultar detallesVer detallesEventos de Dominio y Arquitectura Orientada a Eventos
Eventos de Dominio y Arquitectura Orientada a Eventos
Lección 1 • Eventos de Dominio como Hechos de Negocio
Define los eventos de dominio como registros inmutables de algo significativo que ocurrió. Los estudiantes distinguen los eventos de dominio de los mensajes técnicos y las notificaciones del sistema.
Lección 2 • Introducción al Event Sourcing
Presenta el event sourcing como una estrategia de persistencia alternativa impulsada por eventos de dominio. Los estudiantes evalúan cuándo encaja el event sourcing y cuándo agrega complejidad innecesaria.
Lección 3 • Consistencia Eventual y Patrones Saga
Aborda procesos de negocio de varios pasos que abarcan agregados y contextos. Los estudiantes implementan sagas basadas en coreografía y en orquestación.
Lección 4 • Integrar Eventos a través de Contextos Delimitados
Extiende los eventos de dominio a la integración entre contextos a través de infraestructura de mensajería. Los estudiantes diseñan eventos de integración que respetan la autonomía del contexto.
Lección 5 • Lanzar y Manejar Eventos de Dominio
Cubre la mecánica de publicar eventos desde agregados y suscribirse a ellos. Los estudiantes implementan el despacho de eventos en proceso y el registro de manejadores.
Capítulo 7OcultarOcultar detallesVer detallesArquitectura de la Aplicación y Capas
Arquitectura de la Aplicación y Capas
Lección 1 • Arquitectura en Capas en DDD
Presenta la arquitectura DDD clásica de cuatro capas y sus reglas de dependencia. Los estudiantes mapean los conceptos del dominio a la capa correcta.
Lección 2 • Preocupaciones de Infraestructura e Inversión de Dependencias
Muestra cómo la inversión de dependencias mantiene la capa de dominio libre de dependencias de infraestructura. Los estudiantes conectan adaptadores de infraestructura usando contenedores de inyección de dependencias.
Lección 3 • Servicios de Aplicación y Casos de Uso
Define los servicios de aplicación como orquestadores de la lógica del dominio para casos de uso específicos. Los estudiantes mantienen los servicios de aplicación libres de reglas de negocio.
Lección 4 • Fundamentos del Patrón CQRS
Introduce la Segregación de Responsabilidades de Comandos y Consultas como complemento a DDD. Los estudiantes separan los modelos de escritura de los modelos de lectura para optimizar cada uno de forma independiente.
Lección 5 • Arquitectura Hexagonal y Puertos y Adaptadores
Presenta la arquitectura hexagonal como una alternativa moderna que impone el aislamiento del dominio. Los estudiantes definen puertos como interfaces y adaptadores como implementaciones de infraestructura.
Capítulo 8OcultarOcultar detallesVer detallesDDD Avanzado: Modelar Dominios Complejos
DDD Avanzado: Modelar Dominios Complejos
Lección 1 • Destilación Estratégica del Dominio Núcleo
Enfoca la inversión en diseño en el dominio núcleo a través de técnicas de destilación. Los estudiantes producen un documento de núcleo resaltado y un plan de extracción de subdominios genéricos.
Lección 2 • Manejar la Complejidad del Dominio con Módulos
Utiliza módulos para organizar grandes modelos de dominio en paquetes cohesivos y débilmente acoplados. Los estudiantes aplican métricas de cohesión y acoplamiento al diseño de módulos.
Lección 3 • Principios de Diseño Flexible
Cubre los patrones de diseño flexible de Evans para hacer que los modelos revelen la intención y sean flexibles. Los estudiantes aplican interfaces que revelan la intención y funciones sin efectos secundarios.
Lección 4 • Modelar Políticas y Reglas de Negocio
Aborda reglas de negocio complejas y cambiantes como objetos de dominio explícitos. Los estudiantes implementan los patrones de especificación y política para encapsular la lógica de las reglas.
Lección 5 • Refactorizar hacia un Conocimiento más Profundo
Enseña el refinamiento iterativo del modelo impulsado por una nueva comprensión del dominio. Los estudiantes practican la refactorización de avance que descubre conceptos ocultos del dominio.
Tu certificado válido de finalización
Este curso es para ti:
Desarrolladores de software de nivel medio: listos para ir más allá del pensamiento centrado en CRUD.
Arquitectos de soluciones: que buscan métodos estructurados para dominar la complejidad del negocio.
Ingenieros de backend: frustrados por bases de código que se alejan de la intención del negocio.
Líderes técnicos: responsables de guiar a los equipos en decisiones complejas de modelado de dominio.
Consultores de software: que asesoran a clientes sobre diseño de sistemas escalables y alineados al negocio.
Profesionales en transición desde el análisis de negocio: que aportan conocimiento del dominio a roles de diseño de software.
Lo que dicen nuestros alumnos
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en México?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















