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

Curso de Arquitecturas Limpias para Desarrollo de Software

Toma las primeras clases gratis

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 🤓💚

Curso de Arquitecturas Limpias para Desarrollo de Software

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados