Soy nuevo en DDD y estoy pensando en usar esta técnica de diseño en mi proyecto.¿Qué hace que mi código DDD (diseño controlado por dominio) califique?
Sin embargo, lo que me impresiona de DDD es que tan básica es la idea. A diferencia de otras técnicas de diseño como MVC y TDD, no parece contener ideas innovadoras.
Por ejemplo, estoy seguro de que algunos de ustedes tendrán la misma sensación de que la idea de los agregados raíz y repositorios no es nada nuevo, ya que cuando está escribiendo aplicaciones web MVC debe tener un único objeto maestro (es decir, agregado de raíz) que contiene otros objetos menores (es decir, objetos de valor y entidades) en la capa de modelo para enviar datos a una vista fuertemente tipada.
Para mí, la única idea nueva en DDD es probablemente el
- entidades "inteligentes" (es decir, que se supone que tienen reglas de negocio sobre los agregados raíz)
- separación entre el objeto de valor, agregado de raíz y entidades.
¿Alguien me puede decir si me he perdido algo aquí? Si eso es todo lo que hay en DDD, si actualizo una de mi aplicación MVC existente con las 2 nuevas ideas anteriores, ¿puedo decir que es una aplicación TDD, MVC y DDD?
He estado pensando lo mismo. Espero ver qué dicen las personas con DDD más experimentadas. –
Está mezclando manzanas y peras ... DDD es una aproximación a la arquitectura (aunque el autor prefiere denominarse "diseño estratégico"), que se compone de diferentes arquitecturas, patrones de diseño y técnicas según la experiencia. MVC es un patrón arquitectónico y de diseño. TDD es un método de desarrollo, aunque muy ligero, compuesto por una técnica de desarrollo simple. Esas cosas son muy diferentes. No mire en DDD en patrones individuales, en su mayoría son tomados de otras fuentes y no son específicos de DDD. –