IT-lexikon › Programmering › Service locator

Service locator

Programmering In English → Uppdaterad: 2026-10-25

Ett register som lämnar ut en tjänst via dess gränssnitt, så att anroparen slipper känna till eller skapa den konkreta implementationen.

Spelmotorer har gott om globala system — ljud, loggning, filåtkomst — som nästan allt behöver men ingen vill skicka runt som argument genom hela anropskedjan. En service locator ger en central uppslagspunkt: Locator::audio()->spela(...). Den konkreta klassen kan bytas ut, till och med mot en tyst nolltjänst under tester.

Mönstret är omdiskuterat. Kritiker (bland dem Mark Seemann) kallar det ett dolt globalt tillstånd som gömmer beroenden, och förordar beroendeinjektion i stället. I spelsammanhang vinner det ofta ändå på sin enkelhet och på att en motor sällan byter sina kärnsystem mitt i körningen.

← Tillbaka till lexikonet