Каково определение объекта службы? - PullRequest
23 голосов
/ 28 мая 2010

Я много работал с PHP.Но недавно меня отправили на работу с использованием Java.В PHP я использовал много объектов Singleton, но этот шаблон не имеет такого значения в Java, как в PHP.Поэтому я хотел пойти на служебный класс (класс со статическим методом), но моему шефу не нравятся такие классы, и он попросил меня перейти на объект сервисов.Поэтому я предположил, что объект службы - это просто класс с конструктором, который реализует некоторые открытые методы ... Я прав?

Ответы [ 2 ]

24 голосов
/ 28 мая 2010

Домен-управляемый дизайн определяет Сервис как:

СЕРВИС - это операция, предлагаемая как отдельный интерфейс в модели, без инкапсуляции состояния ... [стр. 105]

Да, это класс с открытыми методами, но в дополнение к этому он реализует интерфейс, который предоставляет эти методы. По своей сути, Сервис - это интерфейс - класс, который его реализует, - просто деталь реализации.

3 голосов
/ 30 сентября 2016

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

Статья о Микросервисы > Ссылка Определение для сервисного объекта:

3: Многие объектно-ориентированные дизайнеры, в том числе и мы, используют термин «объект обслуживания» в смысле «Управляемый доменом» для объекта, который выполняет значительный процесс, не связанный с объектом. Это отличается от того, как мы используем «сервис» в этой статье. К сожалению, термин «служба» имеет оба значения, и мы должны жить с многозначностью.

Что я понимаю здесь, это не технический аспект, как определение его как «интерфейса», а скорее концепция дизайна, которую он описывает. Я также понимаю service object просто область класса, как и его ответственность. Поэтому, если вы разрабатываете веб-приложения, у вас может быть служебный объект SecurityService, который является компонентом SecurityController. Контроллер вызывает службу для фактической обработки служб безопасности (домена).

...