No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Patrón Repository

19/24
Recursos

Aportes 4

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Patrón Repository

¿Cómo separar el dominio del acceso a datos?

Una forma es usando el patrón Repository, el cual ofrece una fachada que da la apariencia de estar usando colecciones y esconde los detalles específicos sobre el funcionamiento de la persistencia.

La interfaz hace parte de la capa de la aplicación, mientras que la implementación hace parte de la capa externa.

Ejemplo:

Se tiene una interfaz denominada ProductRepository, la cual define la firma de los métodos:

  • add(Product)
  • findById(int)
  • remove(Product)

Se tiene una clase que implementa la interfaz ProductRepository y es denominada ProductoRepositoryImpl, la cual tiene la implementación de cada uno de los métodos mencionados con anterioridad:

  • add(Product)
  • findById(int)
  • remove(Product)

De esta forma se podría crear una nueva clase que implemente esa interfaz y pueda realizar operaciones de lectura o escritura de diferentes fuentes de datos, sin tener el dominio atado a una implementación en específico, que es básicamente lo que se busca en un arquitectura limpia.

Hola profe, tengo una consulta, se podría considerar una buena practica, patrón IUnitOfWork con el patró de repositorio, es decir que una interfaz le brinde el acceso a las interfaces de repositorio a la capa de aplicación por medio de una sola interfaz (IUnitOfWork) ? lo he visto en .NET mayoritariamente.

Saludos, porque la implementación(lógica del negocio) debe estar en la capa externa en el repository