Я согласен с Робертом Мунтяну.
По сути, вы сворачиваете свою бизнес-логику, которая не присуща вашей модели, в средний уровень. Средний уровень - это бизнес-уровень / бизнес-объекты / уровень бизнес-логики / и т. Д., Но он просто называется уровнем обслуживания. Это не обязательно должен быть веб-сервис, он широко использует термин «сервис» в том смысле, что он объединяет функциональность определенной прикладной области.
У вас будет класс CustomerService, содержащий ссылку на репозиторий. Ваш уровень представления будет ссылаться на класс уровня обслуживания.
Существует дополнительное различие, которое можно сделать, исходя из вашего имени, которое вы используете .net и, возможно, используете LINQ to SQL в качестве хранилища, как описано в NerdDinner.
Репозиторий обычно возвращает IQueryable на сервисный уровень, что позволяет цепочке сервисного уровня объединять несколько запросов для создания разных наборов результатов. Служба затем оценивает выражение, используя ToList или другой аналогичный метод, и возвращает его на уровень представления.