13

¿Qué es el Patrón Repository para Arquitecturas Limpias?

213075Puntos

hace un año

El patrón repository protege al dominio de la capa de datos y esconde su acceso entre adaptadores e interfaces para evitar que los cambios, migraciones o nuevas fuentes afecten el núcleo de la aplicación.

También es parte de las arquitecturas limpias en el desarrollo de software. Aprende más sobre este patrón en platzi.com/repository.

¿Qué son las Arquitecturas Limpias?

Las arquitecturas limpias, también llamadas arquitecturas centradas en el dominio, son reglas y patrones para crear aplicaciones flexibles, escalables y fáciles de mantener. Se dividen en capas claras: dominio (código crucial), protección (conexión externa) y externa (infraestructura, interfaz, base de datos).

Existen variantes como:

  • Arquitectura Hexagonal: acceso mediante puertos y adaptadores.
  • Arquitectura Cebolla: dominio a través de servicios de dominio rodeados por servicios de aplicación y capa externa.
  • Clean Architecture: dominio como entidades, capa externa como frameworks y drivers, con casos de uso y adaptadores de interfaz.

La clave es la inversión de dependencias: el dominio es llamado por las demás capas. El núcleo es agnóstico a cambios, tecnologías o implementaciones.

💡 Aprende más sobre cómo implementar arquitectura hexagonal en tu proyecto

¿Qué es el Patrón Repository?

El patrón repository es un patrón de diseño para ubicar el acceso a datos en la capa externa de la aplicación y así mantener el dominio agnóstico a sus fuentes de datos (y sobre todo a su implementación).

Esto es importante por principalmente 3 motivos:

  • Migraciones: No es frecuente, pero es común que las aplicaciones deban migrar su base de datos. El proceso se complica si hay código específico de la fuente de datos en toda la aplicación o atado a las reglas de negocio.

  • Múltiples fuentes de datos: Es frecuente tener varias fuentes de datos en una aplicación. Puede haber diferentes bases de datos, almacenamiento de archivos o sistemas de terceros como CRM o motores de búsqueda.

  • Facilitar el testing: Las pruebas de bases de datos requieren un entorno separado. Separar el acceso a datos del dominio ahorra configuración en la mayoría de pruebas.

La implementación depende de la arquitectura elegida. Se crean repositorios en la capa de protección e implementaciones en la capa externa para conectar la aplicación a fuentes de datos específicas.


El patrón repository es solo uno de los múltiples patrones y lineamientos de las arquitecturas limpias. Si quieres aprender cómo funcionan y evaluar cuándo pueden aportar valor a tu negocio, te invito a tomar el Curso de Arquitecturas Limpias para Desarrollo de Software.

#NuncaParesDeAprender 🤓💚

Juan
Juan
juandc

213075Puntos

hace un año

Todas sus entradas
Escribe tu comentario
+ 2