vitaly_74
@vitaly_74

Чем сервис отличается от объекта?

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

P.S. если требуются ссылки на статьи я могу их привести. все понятия и измышления я взял не с потолка.
  • Вопрос задан
  • 315 просмотров
Пригласить эксперта
Ответы на вопрос 3
Vapaamies
@Vapaamies
Психанул и снес свои ответы козлам, не отмечающим…
Сервис — не про ООП.
Ответ написан
HemulGM
@HemulGM
Delphi Developer, сис. админ
Сервис - это часть одного из паттернов проектирования ООП. Обычно это такой класс, который реализует львиную долю логики программы. К которому обращаются все остальные классы.
Объект - экземпляр класса.

Это если речь про ООП.
Также, сервис в разработке - это отдельная часть некого большого проекта, которая работает независимо и представляет собой отдельную программу или скрипт. Общение с которым реализуется через отдельное подключение, например http, ws или даже pipes
Ответ написан
И то и другое архитектурные концепции, и их значение может от контекста зависеть.
Например в ddd главное отличие - сущность имеет идентификатор. То есть работая с доменным объектом Order, вы работаете с конкретным заказом, а не со всеми заказами сразу.
Если вы инстанцируете класс order, и можете работать из него с любым заказом - это скорее сервис.
По крайне мере в ddd сущность описывается именно через identity. Можете почитать книгу Эрика Эванса или Вона Вернона (главы где рассказывается, что такое entity).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы