Aquí, tenemos Node.js, Express, TypeScript, Apollo Server y GraphQL. El diseño guiado por el dominio (DDD) enfatiza la comprensión del dominio empresarial, se centra en la lógica empresarial central y alinea el software con los requisitos empresariales. El DDD estratégico implica implementar DDD como una práctica de desarrollo de software, comenzando con el lenguaje ubicuo y el contexto delimitado. El lenguaje ubicuo es un vocabulario común utilizado por todos los interesados, que define términos como cuentas, usuarios, perfiles de pago con tarjeta e facturas. El contexto delimitado establece límites lógicos dentro del dominio, permitiendo un trabajo en equipo eficiente y una comprensión compartida del lenguaje del dominio. Un ejemplo en nuestro caso es el contexto de gestión de cuentas, responsable de gestionar cuentas y usuarios.
Y aquí muy rápidamente, tenemos Node.js, Express, TypeScript, Apollo Server y GraphQL. Ahora, ¿qué es el diseño guiado por el dominio y por qué decidimos usarlo? Primero, ¿qué es el diseño guiado por el dominio y qué es eso? Una de las cosas clave aquí es que el diseño guiado por el dominio, o DDD, enfatiza la importancia de entender el dominio empresarial. También ayuda a los equipos a centrarse en la lógica empresarial central, y también al adoptar todo eso, hace que el software se alinee con los requisitos empresariales.
En nuestro caso, porque el diseño guiado por el dominio es un tema muy, muy amplio. Pero hay una cosa clave aquí, es el llamado DDD estratégico. El DDD estratégico significa que empiezas a implementar la práctica de diseño guiado por el dominio, como una práctica de desarrollo de software. Empiezas por averiguar dos cosas. El lenguaje ubicuo y el contexto delimitado. Ahora veamos qué son estas cosas.
Empecemos con el lenguaje ubicuo. El lenguaje ubicuo es un vocabulario y lenguaje común utilizado por todos los involucrados en el proyecto. Y como puedes ver, al tener este vocabulario común que es utilizado por todos, por todos nos referimos a todos los interesados, como los usuarios, expertos en el dominio y también los expertos técnicos. Todos los involucrados en el proyecto, parte de un tipo diferente de negocio digamos, el dominio empresarial, hablan y usan el mismo lenguaje. Así que todos pueden entender a todos básicamente. Esa es toda la cosa. Y en nuestro caso, definimos varias cosas que son parte del lenguaje ubicuo. Puedes pensar en ello como un diccionario, vocabulario, algo así. Así que tenemos cuentas, básicamente las empresas que son parte del sistema, los usuarios o empleados que son parte de la empresa o la cuenta. Tenemos perfiles de pago con tarjeta que son parte de la cuenta. Así que las empresas pueden pagar por lo que usan en el sistema. Y tenemos facturas y algunas otras cosas. Pero esas cuatro cosas de las que vamos a hablar a lo largo de toda la presentación. Por eso las añadí aquí.
Y ahora ¿qué pasa con el contexto delimitado? Primero, respondamos qué es esto. Así que el contexto delimitado es básicamente como un límite lógico entre las diferentes partes del dominio. Y al tener este límite lógico, podemos permitir que los equipos trabajen de manera más eficiente con una comprensión compartida del lenguaje del dominio utilizado en un área específica del sistema. Y ahora voy a darte un ejemplo muy breve, en nuestro caso básicamente. Así que aquí la primera cosa que tenemos, como un límite lógico es la gestión de cuentas. El contexto de gestión de cuentas, o dominio, es responsable de, como puedes imaginar, gestionar la cuenta. Así que aquí dentro tenemos cuenta y usuario.
Comments