@imolko/ultra-ddd
v2.0.1
Published
Es un enfoque de diseño de software que se centra en el dominio del negocio, es decir, en el conocimiento y las reglas del negocio.
Downloads
682
Readme
Ultra-ddd
Es un enfoque de diseño de software que se centra en el dominio del negocio, es decir, en el conocimiento y las reglas del negocio.
Busca crear un modelo de dominio rico y expresivo que refleje fielmente el negocio
Cómo funciona
- Se basa en la colaboración entre desarrolladores y expertos del dominio para crear un "lenguaje ubicuo" que sirva de base para el modelo de dominio.
- Se utilizan patrones de diseño como entidades, objetos de valor y servicios de dominio para modelar el negocio.
Cuándo se utiliza
- Cuando el dominio del negocio es complejo y requiere un modelado preciso.
- Cuando la comunicación entre desarrolladores y expertos del dominio es fundamental.
Por qué se utiliza
- Para crear software que se adapte mejor a las necesidades del negocio y facilite la comunicación entre los equipos.
- Para crear un software que sea mas fácil de entender y de mantener.
Para qué sirve
- Para crear aplicaciones que resuelvan problemas de negocio de forma efectiva y que sean fáciles de entender y modificar.
Dónde se aplica
- En aplicaciones empresariales, sistemas financieros y cualquier sistema donde el dominio del negocio sea complejo.
Generar lista de eventos
- Instalar ultra-ddd
- ejecutar
npx generate-event-track- Copiar en el package.json los siguientes comandos
"prepare-schemas": "npx tsc --project tsconfig.event-track.json",
"generate-schemas": "node event-schemes/track/track-events-script.js",
"build-schemas": "npx generate-event-track && npm run prepare-schemas && npm run generate-schemas"- Crear un evento
- Crear schemas de los eventos
npm run build-schemasPara el comando npx generate-event-track, estan disponibles las siguientes variables
| Variable | Definición | Valor por defecto | |--------------|-----------------------------------------------------|-----------------------| | outputPath | Ruta de salida | /src | | contextName | Nombre del contexto | default | | folderName | Nombre de la carpeta en donde se alojan los eventos | events |
Relación entre Arquitectura Clean y DDD:
La arquitectura clean proporciona la estructura y los principios para organizar el código, mientras que DDD proporciona las técnicas para modelar el dominio del negocio.
DDD se integra muy bien con la arquitectura clean, ya que el modelo de dominio se ubica en las capas internas, independientes de los detalles de implementación.
DDD y la arquitectura clean se complementan para crear sistemas robustos, mantenibles y adaptables a los cambios del negocio.
Generar test para los artefactos de dominio
npx domain-trackPara el comando npx domain-track, estan disponibles las siguientes variables
| Variable | Definición | Valor por defecto | |--------------|-----------------------------------------------------|-----------------------| | contextName | Nombre del contexto | default | | folderName | Nombre de la carpeta en donde se alojan los eventos | ./src |
- Ejemplo
npx domain-track --context-name=churro