Ответ
Service (Сервис) — это архитектурный компонент, который инкапсулирует определенную бизнес-логику или функциональность и предоставляет ее через четко определенный интерфейс (API).
Ключевые характеристики:
- Слабая связность: Сервис независим от потребителей его функциональности.
- Высокая связность: Внутри сервиса сосредоточена логика одной предметной области.
- Повторное использование: Функциональность сервиса может использоваться разными клиентами (другими сервисами, UI).
- Явный контракт: Взаимодействие происходит через публичный API, скрывающий внутреннюю реализацию.
Примеры и контексты:
- Микросервисная архитектура: Сервис — это автономное, развертываемое приложение.
- Монолитное приложение: Сервис — это класс или модуль, отвечающий за конкретную бизнес-задачу (например,
UserService,PaymentService). - Операционные системы: Системный демон или фоновый процесс (например,
ssh.serviceв systemd).
Основная цель: Организовать код вокруг бизнес-возможностей, а не технических слоев, что упрощает понимание, тестирование и поддержку системы.