Envíanos tu consulta
Términos y condiciones *
logoImagina
iconoCurso

Curso de Metodología Domain Driven Design (DDD)

DISPONIBLE EN MODALIDAD:
En este curso de Metodología DDD (Domain Driven Design), explorarás los principios y fundamentos de DDD y su aplicación práctica en el desarrollo de software. Aprenderás a identificar y modelar el dominio de tu aplicación, separar la lógica de negocio de la infraestructura, diseñar bounded contexts y utilizar un lenguaje ubicuo compartido. Además, adquirirás habilidades para integrar eficientemente la lógica de negocio con la infraestructura, implementar estrategias de migración a DDD y aplicar DDD en proyectos reales. Al finalizar el curso, estarás preparado para aplicar DDD en tus proyectos y desarrollar software más sólido y alineado con las necesidades del negocio.
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Aprende Metodología Domain Driven Design (DDD): Curso completo

¿A quién va dirigido?

Desarrolladores de software con experiencia previa en el desarrollo de aplicaciones que deseen aprender e implementar la metodología Domain Driven Design (DDD) en sus proyectos.

Objetivos del curso de Metodología Domain Driven Design (DDD)

  • Comprender los fundamentos y principios del Domain Driven Design (DDD)
  • Aplicar buenas prácticas en la identificación y modelado del dominio en proyectos DDD
  • Dominar las técnicas de diseño y desarrollo guiado por el dominio en DDD
  • Integrar de forma eficiente la lógica de negocio con la infraestructura en proyectos DDD
  • Adquirir las habilidades necesarias para migrar a DDD desde otras arquitecturas y aplicar DDD en proyectos del mundo real

¿Qué vas a aprender en este curso de Metodología Domain Driven Design (DDD)?

En este curso de Metodología DDD (Domain Driven Design), explorarás los principios y fundamentos de DDD y su aplicación práctica en el desarrollo de software. Aprenderás a identificar y modelar el dominio de tu aplicación, separar la lógica de negocio de la infraestructura, diseñar bounded contexts y utilizar un lenguaje ubicuo compartido. Además, adquirirás habilidades para integrar eficientemente la lógica de negocio con la infraestructura, implementar estrategias de migración a DDD y aplicar DDD en proyectos reales. Al finalizar el curso, estarás preparado para aplicar DDD en tus proyectos y desarrollar software más sólido y alineado con las necesidades del negocio.

Requisitos

  • Conocimientos previos de programación y experiencia en el desarrollo de software con Java y Maven
  • Tener un equipo con acceso a un usuario con permisos de instalación y conexión estable a Internet
  • Tener JDK (11 o superior), un IDE instalado compatible con DDD (Visual Studio, IntelliJ o Visual Studio Code), Docker y Git instalados previamente en el equipo

Temario del curso de Metodología Domain Driven Design (DDD)

tema 1

Introducción a Domain Driven Design (DDD)

  • ¿Qué es Domain Driven Design y por qué es importante en el desarrollo de software?
  • Principios y fundamentos de DDD
  • Ventajas y beneficios de aplicar DDD en proyectos de software
  • Comparación con otras metodologías de desarrollo de software
  • Instalaciones y configuraciones fundamentales para DDD
tema 2

Modelado del Dominio

  • Análisis del dominio y su importancia en DDD
  • Identificación de conceptos clave y entidades del dominio
  • Agregados y agregados raíz en DDD
  • Identificación y diseño de servicios del dominio
  • Estrategias de diseño de modelos de dominio en DDD
tema 3

Ubicación de la Lógica de Negocio

  • Separación de la lógica de negocio del código de infraestructura
  • Implementación de reglas de negocio en el modelo de dominio
  • Diseño de objetos de valor y entidades en DDD
  • Uso de eventos y mensajería en DDD
  • Validación y control de la consistencia del dominio
tema 4

Diseño de Bounded Contexts

  • Definición y alcance de los Bounded Contexts en DDD
  • Identificación y delimitación de contextos delimitados en el dominio
  • Relaciones y comunicación entre Bounded Contexts
  • Integración y colaboración entre Bounded Contexts
  • Consistencia y mantenimiento de los límites de los Bounded Contexts
tema 5

Desarrollo basado en Ubiquitous Language

  • Importancia del lenguaje ubicuo en DDD
  • Creación y evolución de un lenguaje ubicuo compartido
  • Comunicación efectiva entre el equipo de desarrollo y los expertos del dominio
  • Uso del lenguaje ubicuo en el código y documentación del proyecto
  • Mantenimiento y actualización del lenguaje ubicuo
tema 6

Agregados y Consistencia Transaccional

  • Definición y características de los agregados en DDD
  • Diseño y estructura de los agregados
  • Transacciones y consistencia en los agregados
  • Control de concurrencia y eventos en los agregados
  • Gestión de la integridad y la consistencia transaccional
tema 7

Desarrollo guiado por el dominio

  • Técnicas para comprender y capturar las necesidades del negocio
  • Implementación de casos de uso en el dominio
  • Uso de patrones y tácticas de diseño en DDD
  • Desarrollo iterativo e incremental en DDD
  • Pruebas y validación del dominio
tema 8

Integración con Infraestructura y Persistencia

  • Diseño de la capa de infraestructura en DDD
  • Implementación de la persistencia y acceso a datos en DDD
  • Uso de patrones de repositorio y unidad de trabajo en DDD
  • Integración con sistemas externos en DDD
  • Gestión de eventos y mensajes en la infraestructura
tema 9

Técnicas de Migración a DDD

  • Evaluación de la viabilidad y beneficios de la migración a DDD
  • Análisis y comprensión de la arquitectura existente
  • Identificación de elementos de DDD aplicables a la arquitectura actual
  • Técnicas y estrategias de migración gradual a DDD
  • Resolución de desafíos comunes en la migración a DDD
tema 10

Buenas Prácticas en DDD

  • Principios y recomendaciones para el desarrollo en DDD
  • Organización del código y estructura del proyecto en DDD
  • Nomenclatura y convenciones de DDD
  • Uso de herramientas y frameworks en DDD
  • Mantenimiento y evolución de proyectos basados en DDD
tema 11

Escalabilidad y Rendimiento en DDD

  • Consideraciones de escalabilidad en proyectos DDD
  • Técnicas y estrategias para mejorar el rendimiento en DDD
  • Implementación de arquitecturas distribuidas en DDD
  • Uso de técnicas de caché y almacenamiento en DDD
  • Monitorización y optimización en proyectos DDD
tema 12

Seguridad y Protección del Dominio

  • Identificación de amenazas y vulnerabilidades en DDD
  • Implementación de políticas de seguridad en DDD
  • Protección de datos sensibles en el dominio
  • Gestión de permisos y control de acceso en DDD
  • Pruebas y validación de seguridad en proyectos DDD
tema 13

DDD en el Mundo Real

  • Aplicación de DDD en proyectos reales
  • Estudio de casos de éxito en DDD
  • Desafíos y lecciones aprendidas en proyectos DDD
  • Adopción y difusión de DDD en la industria
  • Recomendaciones para proyectos DDD en el mundo real
tema 14

Proyecto Final

  • Planteamiento de los requisitos del proyecto
  • Diseño y planificación de la aplicación basada en DDD
  • Implementación de la aplicación utilizando DDD
  • Pruebas, despliegue y evaluación del proyecto final
  • Presentación y demostración del proyecto final

Curso de Metodología Domain Driven Design (DDD) bonificado para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient