Componentes lógicos

circle-info

Esta sección está actualmente en desarrollo. Vuelve pronto para obtener documentación completa sobre los componentes de lógica.

Los componentes de lógica son piezas de software que contienen la lógica de negocio de tu aplicación. Están organizados semánticamente por dominio o funcionalidad y sirven como la capa de orquestación entre controllers y adapters.

Propósito

Componentes de lógica:

  • Implementan las reglas de negocio y la lógica del dominio

  • Orquestan operaciones a través de múltiples adapters

  • Encapsulan flujos de trabajo complejos

  • Permiten permanecer independientes de las preocupaciones de la capa de transporte (HTTP, WebSocket)

  • Pueden ser completamente probados con unit tests sin dependencias de I/O

Ubicación

Los componentes de lógica DEBERÍAN colocarse bajo src/logic o src/components el directorio, organizados por dominio:

src/
└── logic/
    ├── users/
    ├── content/
    ├── permissions/
    └── notifications/

Características

1. Consumo de Adapters

Los componentes de lógica son los principales consumidores de adapters. Usan adapters para interactuar con recursos externos mientras se enfocan en las reglas de negocio.

2. Reglas de Negocio

Los componentes de lógica hacen cumplir las reglas de negocio y la validación:

3. Orquestación de Flujos de Trabajo

Los componentes de lógica coordinan operaciones complejas de múltiples pasos:

Buenas prácticas

1. Responsabilidad Única

Cada componente de lógica debe centrarse en un dominio o contexto acotado:

2. Inyección de Dependencias

Siempre inyectar las dependencias a través del parámetro components:

3. Manejo de Errores

Lanzar errores de dominio significativos que los controllers puedan capturar y manejar:

4. Lógica de Negocio Pura

Mantén los componentes de lógica libres de preocupaciones de la capa de transporte:

Pruebas de Componentes de Lógica

Los componentes de lógica deben ser probados exhaustivamente con unit tests. Consulta la Testing Services (WKC) documentación para más detalles.

Próximamente

Esta sección se ampliará con:

  • Ejemplos detallados de componentes de lógica orientados al dominio

  • Patrones para manejar flujos de trabajo complejos

  • Directrices para organizar lógica de dominio a gran escala

  • Integración con sistemas de eventos

  • Estrategias de caching

  • Patrones de gestión de transacciones

Última actualización