IT-словарь › Программирование › Service locator

Service locator

Программирование Svenska → Обновлено: 2026-10-25

Реестр, выдающий сервис через его интерфейс, так что вызывающему коду не нужно знать конкретную реализацию или создавать её.

Игровые движки полны глобальных систем — звук, логирование, доступ к файлам, — которые нужны почти всем, но которые никто не хочет протаскивать аргументом через всю цепочку вызовов. Service locator предлагает единую точку поиска: Locator::audio()->play(...). Конкретный класс можно подменить, например беззвучной null-реализацией в тестах.

Паттерн спорный. Критики (среди них Марк Симан) называют его скрытым глобальным состоянием, прячущим зависимости, и предпочитают внедрение зависимостей. В играх он всё же часто выигрывает за счёт простоты и того, что движок редко меняет базовые системы на ходу.

← Назад к словарю