Встречается на 2% собеседований по JavaScript

Что такое Service Locator

Service Locator — это паттерн проектирования, предоставляющий глобальную точку доступа к сервисам без жесткой привязки к их реализации. В отличие от Dependency Injection, где зависимости явно передаются, Service Locator сам управляет их созданием и поиском.

typescript
class ServiceLocator {
  private services: Record<string, any> = {};

register(name: string, service: any) {
this.services[name] = service;
}

get<T>(name: string): T {
return this.services[name];
}
}

const locator = new ServiceLocator();
locator.register('logger', console);

const logger = locator.get<Console>('logger');
logger.log('Hello from Service Locator');

text

**Плюсы:**
- Гибкость в замене реализаций
- Централизованное управление сервисами

**Минусы:**
- Скрытые зависимости (усложняет тестирование)
- Нарушает принцип инверсии зависимостей

Часто используется в legacy-коде, но в современных приложениях предпочтительнее Dependency Injection.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы