Adaptadores
Los adaptadores son componentes responsables de gestionar procesos de E/S e integraciones externas. Sirven como puente entre tu 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 las dependencias externas, permitiendo:
Intercambiabilidad - Cambiar fácilmente las implementaciones (por ejemplo, PostgreSQL → MongoDB)
Capacidad de prueba - Simular dependencias externas en las pruebas
Aislamiento - Mantener la lógica de negocio independiente de las preocupaciones de la infraestructura
Ubicación
Todos los componentes del adaptador DEBEN colocarse en el src/adapters directorio del proyecto.
src/
└── adapters/
├── database/
├── storage/
├── cache/
└── external-api/Interfaces compartidas
Los adaptadores DEBERÍAN construirse pensando en la intercambiabilidad. Define 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í tienes una implementación simple de un adaptador de almacenamiento en memoria, útil para pruebas o desarrollo.
Estructura de directorios
Implementación: component.ts
Adaptador de almacenamiento Redis
Aquí tienes 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í tienes 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]- Se llama cuando el servicio se inicia[Lifecycle.ComponentStopped]o[STOP_COMPONENT]- Se llama cuando el servicio se cierra
Cuándo usar los métodos de ciclo de vida
Usa los métodos de ciclo de vida cuando tu adaptador necesite:
Establecer conexiones (base de datos, caché, cola de mensajes)
Inicializar pools o clientes
Realizar comprobaciones de estado
Limpiar recursos al cerrar
Cerrar conexiones correctamente
Buenas prácticas
1. Manejo de errores
Maneja siempre los errores de conexión y lanza errores personalizados con significado:
2. Configuración
Usa el componente config para gestionar los ajustes del adaptador:
3. Registro
Registra las operaciones importantes para depuración y supervisión:
4. Seguridad de tipos
Tipa siempre correctamente tus valores de retorno:
5. Gestión de recursos
Limpia siempre los recursos en el método de ciclo de vida stop:
Pruebas de adaptadores
Consulta la documentación de Testing Services (WKC) para obtener una guía detallada sobre cómo probar adaptadores.
Ejemplo rápido
Última actualización