Soy nuevo en el patrón de repositorio y después de leer mucho en la web tengo una comprensión aproximada de lo que está sucediendo, pero parece haber un conflicto de ideas.Patrón de repositorio: ¿POCO o IQueryable?
Uno es lo que debe devolver el IRepository.
me gustaría tratar en SOLAMENTE Pocos por lo que tendría una aplicación IRepository para cada raíz agregada, así:
public class OrangeRepository: IOrangeRepository
{
public Orange GetOrange(IOrangeCriteria criteria);
}
donde IOrangeCriteria toma una serie de argumentos específicos para la búsqueda de una naranja.
La otra cosa que tengo es un número de back-ends de datos, por eso me metí en este patrón en primer lugar. Me imagino que tendré una implementación para cada uno, por ejemplo
OrangeRepositoryOracle, OrangeRepositorySQL, OrangeRepositoryMock etc
me gustaría mantenerlo abierto para que pudiera utilizar EF o NHibernate - de nuevo si mis ofertas IOrangeRepository en Pocos entonces encapsularía esto dentro del repositorio mismo, implementando un OrangeRepositoryNHibernate, etc.
¿Estoy en las líneas correctas?
Gracias
EDIT: Gracias por los comentarios, no tengo a nadie más a rebotar fuera de estas ideas en el momento por lo que es apreciado!