2010-12-31 18 views
1

Я использую MVC 3. Я пытаюсь разобраться с уровнем сервиса и сервисом. В настоящее время я работаю над образцовым приложением, которое поставляется с исходным кодом DoFactory. Этот вопрос основан на примере приложения, но в целом.Service Layer Architecture Design Confusion

Существует сервисный уровень (WCF), который предоставляет набор методов обслуживания. Сервисный уровень реализует единую точку входа (шаблон Фасад), через которую должна происходить вся связь со слоями ниже. Фасад - это точка входа в бизнес-уровень и предоставляет очень простой, конечно-ориентированный API.

Позволяет сказать, что я пытаюсь получить список клиентов, а затем в контроллере MVC он вызовет метод GetCustomers репозитория, затем это вызовет метод GetCustomers уровня сервиса.

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

Пожалуйста, кто-нибудь может помочь прояснить это?

ответ

2

Ваша архитектура верна.

Я всегда думал, что репозиторий всегда был последним методом, призванным получить данные?

Да, в вашем случае данные поступают от службы WCF, но это может быть что угодно: база данных SQL, XML-файл, ...

+0

Спасибо. Вам не нужен сервис, который вызывает репозиторий, который, в свою очередь, получает данные из службы WCF? Где логика будет применяться в этом случае, в уровне обслуживания WCF? –

+0

@Brendan, нет, в этом случае вам не нужна дополнительная услуга. Бизнес-логика будет применяться в слое WCF. –

+0

Спасибо! Я был просто смущен в отношении сервиса и уровня обслуживания. Вы прояснили это для меня :) –