¿Cómo aprender a programar el desarrollo de dominios?
Todos sabemos que ningún ingeniero de desarrollo de software nace. Todo ingeniero de desarrollo de software exitoso necesita escribir código constantemente y aprender teorías de desarrollo para mejorar sus habilidades profesionales. Hoy, Beijing Computer Training aprenderá sobre las características del desarrollo de programación de software en el campo.
Eric Evans pronunció un discurso de apertura en DDDEurope2023 en Ámsterdam. Creía que al crear software, es importante continuar explorando y practicando. Le gusta mucho el modelo de estrategia en Domain-Driven Design (DDD), pero considera que lo realmente interesante es aceptar un campo difícil, realizar análisis de derivación de diferentes maneras, romper los estereotipos y tratar de encontrar nuevas ideas. También utiliza "Tiempo" como campo y da algunos ejemplos prácticos.
Evans es el autor de uno de los primeros libros de DDD y ha experimentado muchos proyectos. En el proceso, el equipo descubrió muchas ideas nuevas en el campo y pudo crear un excelente software basado en las ideas descubiertas. Pero desafortunadamente, hay muchos proyectos que no puede discutir públicamente. Los negocios relacionados con estos proyectos pueden tener un acuerdo de confidencialidad (NDA) o sus campos en sí son muy oscuros y requieren mucho tiempo para describirlos con claridad.
El subdominio genérico se refiere a áreas que se pueden ver en muchos sistemas. Evans descubrió que estas áreas son muy adecuadas como punto de partida para la práctica. En algunas áreas, ya estamos acostumbrados a su forma de operar. descuidados por nosotros, son particularmente adecuados como punto de partida. Anima a los desarrolladores a dedicar tiempo a estas áreas descubriendo y explorando nuevas ideas, buscando nuevas posibilidades y nuevas formas de modelarlas. Él cree que este es un ejercicio de nivel táctico, estamos diseñando algo muy específico y estas ideas deberían probarse mediante la codificación. También señaló que era importante realizar algunos cambios reales. Las pequeñas mejoras son muy importantes a la hora de mejorar el modelo, pero si queremos empezar de nuevo debemos tener una solución factible.
Evans lo explicó usando el ejemplo de Joda-Time, una biblioteca para el dominio del tiempo que ha sido durante mucho tiempo una herramienta estándar para los programadores de Java y, después de algunas mejoras, se incorporó a Java8. No ha cambiado significativamente en diez años y una de las razones principales es que, en la mayoría de los escenarios, es lo suficientemente bueno. Entonces dejamos de buscar alternativas y nos acostumbramos tanto a usarlo que olvidamos que podría haber alternativas y ni siquiera podemos pensar en otras formas de realizar la función. Este estado es lo que Evans llama "ceguera heredada". Según su experiencia, en casi todos los proyectos, una gran barrera para pensar de manera diferente es la familiaridad con el dominio actual, especialmente si el modelo heredado es muy bueno. Una forma de romper esta ceguera es encontrar un escenario concreto que demuestre algunos de los anacronismos del modelo heredado y utilizarlo como punto de partida.