domain driven design - significado - ¿Qué es el diseño impulsado por el dominio?
domain driven design quickly (8)
En el proceso de descubrir el "dominio", usted forma un lenguaje común, que tanto los desarrolladores como todos los demás interesados en el proyecto entienden.
El modelo de dominio y su "jerga" es bastante observable en el código fuente para el producto terminado. Esa es al menos mi experiencia
Así que recibí esta pregunta de uno de los desarrolladores de mi equipo: ¿Qué es el diseño impulsado por el dominio? Por supuesto, podría señalar el libro de Evans, pero ¿es realmente una respuesta?
¿Cómo explicarías DDD en unas pocas frases a los ingenieros de software junior en tu equipo?
InfoQ tiene un eBook gratis:
Dominio de diseño impulsado rápidamente
Es una buena lectura con muchos ejemplos.
Tratando de entender de qué se trata el software sobre el que está escribiendo y reflejando esa comprensión en el modelo.
Una parte importante de DDD es el llamado lenguaje ubicuo; es decir, hablan el mismo idioma que los expertos en negocios. Y cree su código / arquitectura para que refleje este lenguaje para evitar problemas de impedancia.
Yo diría que esta práctica promueve concentrar sus esfuerzos en el "espacio problemático" en lugar de en el "espacio de solución". Conducir una solución emergente (el diseño) mediante el estudio y realmente conocer y comprender el dominio. Una de las prácticas (tomada de XP) sería la escritura de historias que ocurren en el dominio del problema. A partir de estos, puede identificar sus casos de uso y objetos para su diseño. Ellos ''emergen'' y le dicen lo que debe ser la solución y cómo deberán interactuar entre ellos.
Para mí es el próximo nivel de OOD / OOP donde la encapsulación se trata del espacio problemático, tal como lo describen y comprenden los usuarios, y no tanto de la implementación técnica.
Lea " Introducción al diseño impulsado por el dominio " para una introducción rápida pero detallada a DDD
El Diseño Dirigido por Dominio se trata de administrar la complejidad de una aplicación en el modelo de dominio donde puede destilarse con mayor facilidad.
Es muy difícil describirlo en algunas oraciones, pero recomendaría el libro de InfoQ como una buena introducción. También he escuchado que mucha gente está haciendo un club de lectura con el libro DDD de Evans, lo que ha ayudado mucho a entenderlo.