2010-02-19 8 views
13

Правильно ли я полагаю, что цель уровня сервиса включает следующее:Назначение сервисного уровня

  • истончение из моделей предметной области (т.е. перемещение определенных функций, таких как кэширование, конкретизация)
  • снижение зависимости от моделей предметной области
  • минимизация API
+1

Я получил свои ответы .... прочитав эту страницу .... Спасибо, что спросил. –

ответ

14

С точки зрения дизайна домена приводом например, уровень обслуживания домена используется для операций, которые не могут быть определены в контексте объектов домена. Например, если у вас есть объект CreditCard, подходящей операцией на вашем уровне обслуживания будет выдача новой кредитной карты.

В более крупном приложении используется модель Анемические модели домена, где объекты домена используются только как контейнеры данных, а вся бизнес-логика находится на уровне обслуживания домена (это иногда называют анти-шаблоном, но может быть очень полезно в большом решении, с добавлением другого слоя абстракции).

В отличие от решений архитектуры и шаблонов, уровень обслуживания может иметь разную цель.

16

Традиционно (когда не используется Domain Driven Design) уровень сервиса или «бизнес-уровень», как его еще называют, - это код, в котором вы кодируете всю бизнес-логику для своего приложения. Так, например, в приложении, которое занимается выдачей банковских кредитов, уровень обслуживания - это место, где идет код, который определяет, следует ли предоставлять определенный кредит. Очевидно, что уровень обслуживания потребует некоторой информации о заявителе кредита, чтобы иметь возможность принять решение о ее достоверности. Чтобы получить эту информацию, бизнес-уровень вызывает слой «данные» или «репозиторий», который занимается извлечением и хранением информации в базе данных.

Сервисный уровень не касается таких вопросов, как постоянство или другие проблемы с инфраструктурой.

Если ваш проект управляется доменом, ответ anthares является истинным.

+0

Очень прозрачный и четкий ... Спасибо. –

4

Сервисный уровень, как следует из названия, предоставляет услуги, которые не являются прямой ответственностью за любой другой объект домена.

Сервисный уровень также помогает в развязывании обязанностей. Сервисный слой формирует среднюю часть между слоем базы данных/персистентности и уровнем Client/UI/Web.

Правильное проектирование уровня обслуживания позволяет использовать его с любого клиента, будь то веб-клиент или веб-служба (SOA) или мобильное устройство.