Curso de Domain-Driven Design: DDD Aplicado

Javier FerrerRafa Gómez

Por Javier Ferrer y Rafa Gómez Diseño y Arquitectura de Software

Aprende a modelar tus aplicaciones centrándote en tu dominio, definir Bounded Contexts, agregados, value objects, y mucho más. Todo de forma práctica y con ejemplos de código

💸 ¡Primera lección disponible sin registro!

En el curso de Event-Driven Architecture analizamos cómo se comunican los distintos servicios de nuestra empresa, pero… ¿Cómo modelamos los servicios y aplicaciones de nuestra empresa?

Si queremos modelar un sistema complejo necesitamos complementar principios y técnicas como los principios SOLID o la Arquitectura Hexagonal con una parte estratégica. Es ahí donde entra Domain-Driven Design (DDD).

DDD hace de paraguas agrupando toda una serie de conceptos a nivel técnico y estratégico para promover:

  • Colaboración entre negocio o producto y el equipo técnico para modelar en código los problemas particulares de un determinado dominio (Bounded Contexts, Ubiquitous Language, Agregados, Value Objects, Eventos de Dominio, Entidades, Repositorios…)
  • Poner el foco de nuestra aplicación en el dominio. Manteniendo una alta tolerancia al cambio y evolución de los sistemas a lo largo del tiempo
  • Alta testabilidad de nuestra lógica de negocio gracias a desacoplarnos de la infraestructura
  • Facilitar la colaboración entre distintos equipos de desarrollo

Qué veremos en este curso:

  • Cómo definir Bounded Contexts y Modules
  • Diferencias entre Bounded Contexts, Subdomains, Modules, y Shared Kernel
  • Estructura de carpetas en un monorepositorio con múltiples aplicaciones y Bounded Contexts
  • Ejemplos de implementación de monorepo en PHP, Java y Scala
  • Arquitectura Hexagonal
  • Value Objects: Modelando nuestro dominio
  • Qué es un agregado y para qué sirve
  • Aggregate root vs Entity
  • Patrón Repository
  • Role interfaces vs Header interfaces
  • Comunicación entre Modules y Bounded Contexts
  • Migrando desde sistemas legacy gracias a la Capa Anticorrupción
  • Eventos de dominio
  • Shared Kernel: Qué compartimos entre Bounded Contexts
  • CQRS en DDD
  • Read Model: Optimizando para la lectura
  • Promoviendo un Module a Bounded Context
  • Ubiquitous Language: Cómo llevar la jerga del día a día al código

Este curso es agnóstico del lenguaje de programación, no obstante, para que no se quede en teoría pura, veremos ejemplos de implementación en PHP, Java y Scala.

Este curso complementa los cursos de SOLID, Arquitectura Hexagonal, CQRS, Comunicación entre [micro]servicios con Event-Driven Architecture, y CQRS y Event-Sourcing.

Por tanto, te recomendamos que primero hagas los que más te interesen para tener esos conceptos claros, y después profundices en los conceptos más estratégicos con este curso de DDD. ¡Sólo por 30€ tienes acceso a todos los cursos!

Aquí el primer vídeo del curso para que te hagas una idea de la calidad del contenido 😬

Vídeos del curso

Cursos relacionados

Ver catálogo completo

Individuos

24,91€/ mes · pago anual299€ al año
  • 💻Acceso a todos los cursos
  • 🏅Contenido de calidad
  • 🧑‍🏫Profesionales con amplia experiencia
  • 🚀Nuevo contenido cada semana
  • 🧑‍🤝‍🧑Acceso a la comunidad CodelyTV
  • 🧑‍🎓Certificados al completar cursos
  • 💸12 meses por el precio de 10
SIN PERMANENCIA MÍNIMASuscríbete

Empresas

¿Crees que puede interesar a más miembros del equipo?

  • 💸Descuento de hasta un 40%
  • Gestión centralizada de cuentas
  • 🧑‍🏫Profesionales con amplia experiencia
  • 💼Facturas a nombre de empresa
  • 📈Reportes y analítica