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

Paga según tus necesidades

lite (sólo mensual)

19 €
al mes
  • Acceso a un subconjunto de cursos para sentar las bases para un código mantenible, escalable y testable
  • Factura de empresa
Popular

standard

24,92 €
Ahorra 121
Pago anual de 299
al mes
  • Catálogo completo de cursos
  • Retos de diseño y arquitectura
  • Vídeos de soluciones destacadas de los retos
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa

premium

41,58 €
Ahorra 89
Pago anual de 499
al mes
  • Todo lo anterior
  • Más beneficios próximamente

No subiremos el precio mientras mantengas tu suscripción activa