Componentes de lógica
Los componentes de lógica son piezas de software que contienen la lógica de negocio de tu aplicación. Se organizan semánticamente por dominio o funcionalidad y sirven como la capa de orquestación entre controladores y adaptadores.
Propósito
Los componentes de lógica:
Implementan reglas de negocio y lógica de dominio
Orquestan operaciones entre múltiples adaptadores
Encapsulan flujos de trabajo complejos
Permanecen independientes de las preocupaciones de la capa de transporte (HTTP, WebSocket)
Pueden probarse exhaustivamente con pruebas unitarias sin dependencias de E/S
Ubicación
Los componentes de lógica DEBERÍAN colocarse bajo el src/logic o src/components directorio, organizados por dominio:
src/
└── logic/
├── users/
├── content/
├── permissions/
└── notifications/Características
1. Consumo de adaptadores
Los componentes de lógica son los principales consumidores de adaptadores. Los usan para interactuar con recursos externos mientras se centran en las reglas de negocio.
2. Reglas de negocio
Los componentes de lógica aplican reglas de negocio y validación:
3. Orquestación de flujos de trabajo
Los componentes de lógica coordinan operaciones complejas de varios pasos:
Buenas prácticas
1. Responsabilidad única
Cada componente de lógica debería centrarse en un dominio o contexto delimitado:
2. Inyección de dependencias
Inyecta siempre las dependencias a través del parámetro components:
3. Manejo de errores
Lanza errores de dominio significativos que los controladores 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 los componentes de lógica
Los componentes de lógica deberían probarse exhaustivamente con pruebas unitarias. Consulta la documentación de Testing Services (WKC) documentación para más detalles.
Próximamente
Esta sección se ampliará con:
Ejemplos detallados de componentes de lógica impulsados por el dominio
Patrones para manejar flujos de trabajo complejos
Guías para organizar una gran lógica de dominio
Integración con sistemas de eventos
Estrategias de caché
Patrones de gestión de transacciones
Última actualización