Elige tu idioma
Curso de Domain Driven Design
Más de 2 millones de estudiantes en todo el mundo

Curso de Domain Driven Design

Domine el Diseño Guiado por el Dominio y construya software que refleje con precisión la realidad compleja del negocio. Este curso lo lleva desde la filosofía central de DDD hasta los patrones estratégicos y tácticos avanzados, cubriendo agregados, contextos delimitados, eventos de dominio y arquitectura hexagonal. Ya sea que esté diseñando sistemas nuevos desde cero o desenredando bases de código heredadas, obtendrá las herramientas para modelar dominios con precisión y confianza.

Dedika para empresas

Lo que vas a aprender:

Usted aprenderá a aplicar patrones de 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. Usted diseñará contextos delimitados, producirá mapas de contexto e implementará 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á competencias prácticas en facilitación de Event Storming, colaboración con expertos del dominio y estrategias integrales de pruebas de DDD.

Cómo estudias de forma práctica Curso de Domain Driven Design

Cómo practicas Curso de Domain Driven Design

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.

Haz clic aquí

Contenido del curso

8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Fundamentos del Diseño Guiado 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 en el diseño. Los estudiantes practican conversaciones de destilació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

    Presenta 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 Guiado 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 presentar cualquier patrón táctico.

Capítulo 2Ver detalles

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 Rico del Dominio

    Avanza más allá de los contenedores de datos para ubicar la lógica de negocio dentro de los objetos del dominio. Los estudiantes implementan métodos del dominio que refuerzan las invariantes.

  • Lección 3 • Patrones Prácticos de Implementación

    Traduce modelos conceptuales a estructuras de código funcionales. Los estudiantes aplican métodos de fábrica, constructores de copia y sobrescrituras 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 descriptivos del dominio, libres de efectos secundarios. Los estudiantes implementan la inmutabilidad y la igualdad estructural en el código.

Capítulo 3Ver detalles

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 referenciación por identidad.

  • Lección 3 • Invariantes del Agregado y Validación

    Cubre el refuerzo de las reglas de negocio que abarcan múltiples objetos dentro de un agregado. Los estudiantes escriben verificaciones de invariantes activadas por comandos de cambio de estado.

  • Lección 4 • Comunicación entre Agregados

    Aborda cómo interactúan los agregados sin violar el aislamiento. Los estudiantes utilizan eventos de dominio y consistencia eventual para coordinarse a través de los límites.

  • Lección 5 • Diseñar los Límites del Agregado

    Enseña heurísticas para trazar límites de agregado correctos. Los estudiantes evitan los agregados excesivamente grandes y los problemas de concurrencia que estos causan.

Capítulo 4Ver detalles

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 encapsuladores de lógica de creación compleja. Los estudiantes construyen fábricas que refuerzan invariantes durante la construcción de objetos.

  • Lección 3 • Estrategias de Implementación de Repositorios

    Cubre implementaciones concretas de repositorios y sus concesiones. Los estudiantes mapean raíces de agregado a almacenes de persistencia sin filtrar infraestructura en el dominio.

  • Lección 4 • Integrar los Patrones de Soporte

    Muestra cómo colaboran los repositorios, fábricas y servicios en un caso de uso completo. Los estudiantes trazan un comando desde la capa de aplicación a través del dominio y de regreso.

  • 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 5Ver detalles

Contextos Delimitados y Mapeo de Contextos

  • Lección 1 • Patrones de Mapeo de Contextos

    Presenta el catálogo completo de patrones de relación entre contextos. Los estudiantes seleccionan los patrones apropiados según la dinámica del equipo y las necesidades de integración.

  • Lección 2 • Fundamentos de los Contextos Delimitados

    Define un contexto delimitado como un límite explícito dentro del cual un modelo es coherente. Los estudiantes identifican los límites de contexto en sistemas existentes.

  • Lección 3 • Dibujar y Documentar Mapas de Contexto

    Enseña notación y 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 de modelos externos.

  • Lección 5 • Topologías de Equipos y Propiedad del Contexto

    Conecta el diseño de contextos delimitados 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 6Ver detalles

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 guiada por eventos de dominio. Los estudiantes evalúan cuándo encaja el event sourcing y cuándo añade complejidad innecesaria.

  • Lección 3 • Consistencia Eventual y Patrones Saga

    Aborda los procesos de negocio de múltiples 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 7Ver detalles

Arquitectura de 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

    Presenta 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 refuerza el aislamiento del dominio. Los estudiantes definen puertos como interfaces y adaptadores como implementaciones de infraestructura.

Capítulo 8Ver detalles

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 libres de efectos secundarios.

  • Lección 4 • Modelar Políticas y Reglas de Negocio

    Aborda las 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 reglas.

  • Lección 5 • Refactorización 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.

Certificación

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 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 con el negocio.

  • Personas que cambian de carrera desde el análisis de negocios: que aportan conocimiento del dominio a roles de diseño de software.

Lo que dicen nuestros estudiantes

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... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en Colombia?

¿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