repositorio pattern patrón patrones patron parte net implementación framework explicacion diseño c# asp.net design-patterns repository

pattern - patrones de diseño repositorio c#



Explicación paso a paso del patrón de repositorio (2)

Como resumen, describiría el impacto más amplio del patrón de repositorio. Permite que todo su código utilice objetos sin tener que saber cómo se conservan los objetos. Todo el conocimiento de la persistencia, incluida la asignación de tablas a objetos, está contenido de forma segura en el repositorio.

Muy a menudo, encontrará consultas SQL dispersas en la base de código y cuando agregue una columna a una tabla, tendrá que buscar archivos de código para intentar encontrar usos de una tabla. El impacto del cambio es de gran alcance.

Con el patrón de repositorio, solo necesitaría cambiar un objeto y un repositorio. El impacto es muy pequeño.

Quizás ayude a pensar por qué usaría el patrón de repositorio. Aquí hay algunas razones:

  • Tiene un solo lugar para realizar cambios en el acceso a sus datos.

  • Tienes un solo lugar responsable de un conjunto de tablas (normalmente)

  • Es fácil reemplazar un repositorio con una implementación falsa para pruebas, por lo que no necesita tener una base de datos disponible para sus pruebas unitarias

También hay otros beneficios, por ejemplo, si estaba usando MySQL y quería cambiar a SQL Server, ¡pero en realidad nunca lo he visto en la práctica!

¿Puede alguien explicarme el patrón de repositorio en .NET, paso a paso, dando un ejemplo o demostración muy simple?

Sé que esta es una pregunta muy común, pero hasta ahora no he encontrado una respuesta satisfactoria.


Este es un buen ejemplo: el ejemplo de patrón de repositorio en C #

Básicamente, el repositorio oculta los detalles de cómo exactamente los datos se recuperan / persisten desde / a la base de datos. Debajo de las sábanas:

  • para la lectura, crea la consulta que satisface los criterios proporcionados y devuelve el conjunto de resultados
  • para escribir, emite los comandos necesarios para hacer que el motor de persistencia subyacente (por ejemplo, una base de datos SQL) guarde los datos