Skip to content

Buenas practicas

DDD funciona mejor cuando se aplica con criterio. Usarlo como una lista de patrones puede producir mas complejidad que claridad.

Empieza por el lenguaje

Antes de crear carpetas, entiende:

  • Que problema resuelve el sistema.
  • Que palabras usa negocio.
  • Que reglas son criticas.
  • Que excepciones existen.
  • Que decisiones cambian a menudo.

Modela comportamiento

Evita entidades sin comportamiento.

Mal:

txt
order.status = confirmed

Mejor:

txt
order.confirm()

El metodo puede validar invariantes.

Usa value objects

Sustituye valores ambiguos:

txt
string email
number amount
string currency

Por conceptos:

txt
EmailAddress
Money
Currency

No conviertas DDD en ceremonia

No todo necesita:

  • Factory.
  • Specification.
  • Domain service.
  • Repository.
  • Event.

Usa patrones cuando resuelvan un problema real.

Protege limites

No dejes que DTOs, ORMs o eventos externos definan tu dominio interno.

Checklist de revision

  • El codigo usa lenguaje del negocio.
  • Las reglas viven en el dominio.
  • Los agregados son pequenos y consistentes.
  • Los contextos tienen limites explicitos.
  • Las integraciones no filtran modelos internos.
  • Los tests describen reglas de negocio.