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

Adaptador 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

Manejo de Errores: errors.ts

Ejemplo 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