Service locator
Rejestr, który wydaje usługę przez jej interfejs, oszczędzając wywołującemu znajomości i konstruowania konkretnej implementacji.
Silniki gier są pełne globalnych systemów — dźwięku, logowania, dostępu do plików — których potrzebuje niemal wszystko, ale nikt nie chce przepychać ich argumentem przez cały łańcuch wywołań. Service locator oferuje jedno centralne miejsce wyszukiwania: Locator::audio()->play(...). Konkretną klasę można podmienić, nawet na cichą usługę zerową na czas testów.
Wzorzec budzi spory. Krytycy (m.in. Mark Seemann) nazywają go ukrytym stanem globalnym, który zasłania zależności, i wolą wstrzykiwanie zależności. W grach i tak często wygrywa prostotą oraz tym, że silnik rzadko podmienia swoje kluczowe systemy w trakcie działania.