Integraciones y patrón Adapter
Ejemplos comunes
- Envío de mensajes.
- Correos electrónicos.
- Mensajes de texto.
- Notificaciones push (web o móvil).
- Mensajes de chat (WhatsApp o Telegram).
- Escritura y lectura de archivos.
- Disco.
- Almacenamiento de objetos.
- Servidor FTP.
- Comunicación con otros servicios.
- Colas de mensajería.
- REST.
- Llamado de procedimientos remotos (RPC).
Patrones de diseño
Son soluciones recurrentes a un problema de diseño.
Patrón Adapter
Convierte la interfaz de una clase en otra interfaz que el cliente espera. Permite que objetos con interfaces incompatibles trabajen juntos.
Ejemplo:
Se tiene una clase Client que utiliza la interfaz GestorArchivo, la cual tiene la firma del siguiente método:
- guardar(ruta, contenido)
Se crea una nueva interfaz denominada AdaptadorS3 la cual tiene la firma del mismo método:
- guardar(ruta, contenido)
Se crea una clase S3 que implementa la intefaz AdaptadorS3 con la implementación del método:
- put()
Dicho método contiene la implementación propia para guardar o actualizar archivos en S3.
De esta forma cuando el dominio utilice la interfaz GestorArchivo estará accediendo a una interfaz genérica sin preocuparse por la implementación de la misma, que es básicamente lo que se busca en una arquitectura limpia.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?