Зачем использовать шаблон репозитория или, пожалуйста, объясните мне это?

Я изучаю шаблон репозитория и читал Шаблон репозитория с Entity Framework 4.1 и Code First и Универсальный шаблон репозитория - Entity Framework, ASP.NET MVC и треугольник модульного тестирования о том, как они реализуют шаблон репозитория с Entity Framework.

Высказывание

• Скрыть EF с верхнего уровня
• Сделать код более тестируемым

Сделать код более тестируемым Я понимаю, но зачем скрывать EF от верхнего уровня?

Глядя на их реализацию, кажется, что просто обернуть структуру сущностей общим методом для запроса структуры сущностей. На самом деле, в чем причина этого?

Я предполагаю, что это

  1. Слабая связь (почему скрывают EF от верхнего уровня?)
  2. Избегайте повторения написания одного и того же оператора LINQ для того же запроса

Я понимаю это правильно?

Если я напишу DataAccessLayer, который является классом, имеющим методы

QueryFooObject(int id)
{
..//query foo from entity framework
} 

AddFooObject(Foo obj)
{
.. //add foo to entity framework
}
......
QueryBarObject(int id)
{
..
}

AddBarObject(Bar obj)
{
...
}

Это тоже шаблон репозитория?

Объяснение для пустышки будет отличным :)

52
задан DNR 19 December 2012 в 06:47
поделиться