La gente me ha gritado, que debería siempre utilizar el patrón de repositorio, lo que he hecho durante bastante tiempo ... Ahora me pregunto si hay alguna alternativa decente para este patrón en absoluto?¿Alternativas al patrón del repositorio?
Respuesta
Bueno, está el patrón Objeto de acceso a datos, pero a menudo se encuentra en la parte superior del repositorio, y sirve para envolver consultas complejas para que puedan ser llamadas simplemente como un método único.
Repository proporciona una interfaz estándar en su base de datos, y DAO expone las consultas estándar, que es por lo que ambas funcionan muy bien; DAO reenvía llamadas específicas al repositorio. Por supuesto, puede elegir no utilizar un repositorio en su DAO. Puede abrir una conexión a su base de datos y ejecutar las consultas directamente, o utilizar una puerta de enlace de datos de tabla, pero creo que la razón por la que la mayoría de la gente prefiere repositorio es porque es bastante más limpio que esas dos opciones, aunque no deberían gritar a ti :)
http://en.wikipedia.org/wiki/Data_access_object
en los programas informáticos, un objeto de acceso a datos (DAO) es un objeto que proporciona una interfaz abstracta en cierta tipo de base de datos o la persistencia mecanismo, proporcionando algunos específicos operaciones sin exponer detalles de la base de datos. Proporciona una asignación de desde las llamadas a la aplicación a la capa de persistencia . Este aislamiento separa las preocupaciones de lo que los datos accede a las necesidades de la aplicación, en términos de objetos de dominio específico y tipos de datos (la interfaz pública de la DAO), y cómo estas necesidades puede ser satisfecho con un DBMS específicos, esquema de base de datos, etc. (la implementación del DAO). Este patrón diseño es igualmente aplicable a la mayoría de los lenguajes de programación, la mayoría de tipos de software con persistencia necesidades y la mayoría de los tipos de base de datos, pero se asocia tradicionalmente con aplicaciones Java EE y con bases de datos relacionales que se accede a través de la API JDBC debido a su origen en Sun Mejores prácticas de Microsystems directrices [1] ("Patrones de Core J2EE") para esa plataforma.
Gracias por su respuesta :) - Como dijo, DAO está sentado "en la cima" del repositorio y, por lo tanto, es muy similar a un repositorio. ¿Conoces algún beneficio de solo usar DAO en lugar de un Repositorio? – ebb
Hay al menos otras dos opciones en mi respuesta editada, pero diría que el repositorio es, con mucho, el más limpio, especialmente si usa C# y tiene acceso a LINQ o Entity framework que proporcionan un tipo de colección IQueryable de ejecución diferida . –
- 1. Implementación del patrón de repositorio
- 2. Implementación del patrón de repositorio en Python?
- 3. Alternativas para el patrón singleton?
- 4. Repositorio patrón - demasiados métodos
- 5. patrón Repositorio: Agregar elemento
- 6. patrón Repositorio de Buenas Prácticas
- 7. Patrón genérico de repositorio con UnitOfWork Patrón
- 8. Patrón de repositorio - Escaparate MVC
- 9. Patrón de repositorio en C#
- 10. Patrón de repositorio con NHibernate?
- 11. Organización de clases con el patrón de diseño del repositorio
- 12. Patrón de repositorio en F #
- 13. Uso del patrón de repositorio con Entity Framework (mvc storefront)
- 14. Alternativas al acceso
- 15. Alternativas al MVC
- 16. Patrón de repositorio con procedimientos almacenados
- 17. Patrón de repositorio y herencia en .net
- 18. Patrón de repositorio Estandarización de métodos
- 19. Patrón de repositorio con Entity framework
- 20. Transacciones en el patrón de repositorio
- 21. Intentando simplificar nuestro patrón de repositorio
- 22. Datos ad hoc y patrón de repositorio
- 23. C# Patrón de repositorio: ¿un repositorio por subclase?
- 24. EF4, Lambda, patrón de repositorio y DTOs
- 25. Patrón de repositorio y marco de entidad
- 26. Grails: Alternativas al Doc Grails?
- 27. Implementación del repositorio Xml
- 28. Patrón de repositorio y tipos de devolución
- 29. Patrón de repositorio: ¿POCO o IQueryable?
- 30. Mejor patrón de repositorio para ASP.NET MVC
Interesante. ¿Estás preguntando por curiosidad o porque no estás satisfecho con eso? Si esto último, ¿por qué? – anon
@anon - curiosidad :) - Tratando de averiguar qué otras alternativas hay, ya que el patrón de repositorio parece ser el más utilizado (y casi el único). – ebb