Я новичок в шаблоне репозитория и после многого чтения в Интернете у меня есть грубое понимание того, что происходит, но, похоже, существует конфликт идей.Образцовый шаблон - POCOs или IQueryable?
Одним из них является возвращение IRepository.
Я хотел бы иметь дело только в Pocos, так что я бы иметь IRepository реализацию для каждого агрегатного корня, например:
public class OrangeRepository: IOrangeRepository
{
public Orange GetOrange(IOrangeCriteria criteria);
}
где IOrangeCriteria принимает ряд аргументов, характерных для нахождения Orange.
Другая вещь, которая у меня есть, - это количество обратных контуров данных - вот почему я попал в этот шаблон в первую очередь. Я полагаю, у меня будет реализация для каждого, например
OrangeRepositoryOracle, OrangeRepositorySQL, OrangeRepositoryMock и т.д.
Я хотел бы, чтобы держать его открытым, так что я мог бы использовать EF или NHibernate - снова, если мое IOrangeRepository сделки в Pocos я будет инкапсулировать это в сам репозиторий, реализовав OrangeRepositoryNHibernate и т. д.
Есть ли я на правильных линиях?
Благодаря
EDIT: Спасибо за обратную связь, у меня нет никого, чтобы подпрыгнуть эти идеи от на данный момент, так что ценится!