Шаблон репозитория. Зачем нам нужны интерфейсы?

Я прочитал из в Интернете я получил этот пункт, в котором говорится, что для этого используются интерфейсы

  • Использовать методы TDD
  • Заменить механизм сохранения

Но я не могу понять, как интерфейс будет полезен на данный момент Заменить механизм сохранения . давайте рассмотрим, что я создаю базовый (без дженериков) репозиторий для EmployeeRepository

public class EmployeeRepository
{
  public employee[] GetAll()
  {
     //here I'll return from dbContext or ObjectContex class
  }
}

Итак, как появляются интерфейсы?

А если предположить, что я создал интерфейс, то почему используется восходящее приведение? например,

 IEmployee emp = new EmployeeRepository() ;
 vs
 EmployeeRepository emp = new EmployeeRepository();

Пожалуйста, объясните мне точно, а также другую полезность интерфейса в отношении шаблона репозитория.

39
задан Meson 17 May 2012 в 05:25
поделиться