Recientemente me enteré de los patrones de diseño del repositorio y la unidad de trabajo y pensé que los implementaría en un nuevo proyecto EF4 MVC3, ya que la abstracción es generalmente buena.EF4 con MVC3 - ¿Necesito el patrón de repositorio?
Como los agrego al proyecto, me pregunto si el jugo vale la contracción proverbiales, teniendo en cuenta lo siguiente:
- Es muy poco probable que el mecanismo de acceso de datos subyacente cambiará de EF4.
- Este nivel de abstracción requerirá más sobrecarga/confusión para el proyecto y para otros desarrolladores del equipo.
El único beneficio real que veo al usar el patrón Repositorio es para probar la unidad de la aplicación. Resumir el almacén de datos no parece útil, ya que sé que el almacén de datos no cambiará y, además, que EF4 ya proporciona una abstracción bastante buena (simplemente llamo a .AddObject() y parece que estoy modificando un archivo en memoria colección y simplemente llamo .SaveChanges() que ya proporciona el patrón de unidad de trabajo).
¿Debería incluso molestarme en implementar esta abstracción? Siento que debe haber algún beneficio masivo que me falta, pero simplemente no siento que deba seguir esta ruta. Estoy dispuesto a convencerme de lo contrario; alguien puede hacer un caso? Gracias.
Si utiliza los objetos POCO en EF, debería ser más fácil probar los objetos y puede tratarlos como cualquier otro objeto no ef. Esto simplifica enormemente esta dependencia. –
@ Adam: No se trata de POCO, sino de que el proveedor de linq-a-entidades haya cambiado a linq-to-objects, donde L2E es solo un subconjunto de L2O. –
¿me puede dar un breve ejemplo del problema que no estoy siguiendo y me gustaría entender? –