Adaptadores
Los adaptadores son componentes responsables de manejar procesos de E/S e integraciones externas. Sirven como el puente entre la lógica de negocio y sistemas externos como bases de datos, APIs, sistemas de archivos o almacenes de caché.
Propósito
Los adaptadores abstraen los detalles de implementación de dependencias externas, permitiendo:
Intercambiabilidad - Cambiar implementaciones fácilmente (por ejemplo, PostgreSQL → MongoDB)
Testabilidad - Simular dependencias externas en pruebas
Aislamiento - Mantener la lógica de negocio independiente de las preocupaciones de infraestructura
Ubicación
Todos los componentes adaptadores DEBEN ubicarse bajo el src/adapters directorio en el proyecto.
src/
└── adapters/
├── database/
├── storage/
├── cache/
└── external-api/Interfaces Compartidas
Los adaptadores DEBERÍAN construirse pensando en la intercambiabilidad. Defina interfaces compartidas en src/types.ts para que múltiples adaptadores puedan implementar el mismo contrato.
Ejemplo: Interfaz de Almacenamiento
Adaptador de Almacenamiento en Memoria
Aquí hay una implementación simple de un adaptador de almacenamiento en memoria, útil para pruebas o desarrollo.
Estructura del Directorio
Implementación: component.ts
component.tsAdaptador de Almacenamiento Redis
Aquí hay un adaptador Redis listo para producción que demuestra la gestión del ciclo de vida.
Implementación: component.ts
component.tsManejo de Errores: errors.ts
errors.tsEjemplo de Adaptador de Base de Datos
Aquí hay un ejemplo de un adaptador de base de datos PostgreSQL.
Métodos de Ciclo de Vida
WKC proporciona métodos especiales de ciclo de vida que se llaman automáticamente:
[Lifecycle.ComponentStarted]o[START_COMPONENT]- Llamado cuando el servicio se inicia[Lifecycle.ComponentStopped]o[STOP_COMPONENT]- Llamado cuando el servicio se apaga
Cuándo usar los métodos de ciclo de vida
Use los métodos de ciclo de vida cuando su adaptador necesite:
Establecer conexiones (base de datos, caché, cola de mensajes)
Inicializar pools o clientes
Realizar verificaciones de salud
Limpiar recursos al apagar
Cerrar conexiones de forma ordenada
Mejores Prácticas
1. Manejo de Errores
Siempre maneje los errores de conexión y lance errores personalizados significativos:
2. Configuración
Use el componente config para gestionar las configuraciones del adaptador:
3. Registro
Registre operaciones importantes para depuración y monitoreo:
4. Seguridad de Tipos
Siempre tipifique correctamente sus valores de retorno:
5. Gestión de Recursos
Siempre limpie los recursos en el método stop del ciclo de vida:
Pruebas de Adaptadores
Vea la Testing Services (WKC) documentación para obtener orientación detallada sobre las pruebas de adaptadores.
Ejemplo Rápido
Última actualización