Lessico IT › Programmazione › Service locator

Service locator

Programmazione Svenska → Aggiornato: 2026-10-25

Un registro che fornisce un servizio tramite la sua interfaccia, evitando a chi lo usa di conoscere o costruire l'implementazione concreta.

I motori di gioco sono pieni di sistemi globali, come audio, logging e accesso ai file, di cui quasi tutto ha bisogno ma che nessuno vuole passare come argomento lungo l'intera catena di chiamate. Un service locator offre un unico punto di ricerca centrale: Locator::audio()->play(...). La classe concreta può essere sostituita, perfino con un servizio nullo e silenzioso durante i test.

Il pattern è controverso. I critici (tra cui Mark Seemann) lo definiscono stato globale nascosto che occulta le dipendenze e preferiscono la dependency injection. Nei giochi spesso vince comunque per semplicità e perché un motore raramente sostituisce i propri sistemi di base mentre è in esecuzione.

← Torna al lessico