IT-lexicon › Programmeren › Service locator

Service locator

Programmeren Svenska → Bijgewerkt: 2026-10-25

Een register dat een service via haar interface uitdeelt, zodat de aanroeper de concrete implementatie niet hoeft te kennen of aan te maken.

Game-engines zitten vol globale systemen (audio, logging, bestandstoegang) die bijna alles nodig heeft, maar die niemand als argument door de hele aanroepketen wil doorgeven. Een service locator biedt één centraal opzoekpunt: Locator::audio()->play(...). De concrete klasse kan worden verwisseld, bijvoorbeeld voor een stille null-service tijdens tests.

Het patroon is omstreden. Critici, onder wie Mark Seemann, noemen het verborgen globale toestand die afhankelijkheden aan het zicht onttrekt, en geven de voorkeur aan dependency injection. In games wint het toch vaak door pure eenvoud, en omdat een engine zijn kernsystemen zelden midden in een run verwisselt.

← Terug naar het lexicon