Wzorce projektowe · Senior · Pytanie 19 z 75
Dlaczego Service Locator często uważa się za antywzorzec w porównaniu z DI?
- ✓Poprawna odpowiedź: Zależności są ukryte: nie widać ich w sygnaturze
- 2Service Locator działa tylko na serwerze
- 3Service Locator jest wolniejszy z powodu wyszukiwania po kluczach-stringach
Wyjaśnienie
locator.get('api') wewnątrz funkcji to niejawna zależność: test musi skonfigurować globalny rejestr, a błędy ujawniają się w runtime. Przy DI zależności są widoczne w parametrach. useContext jest bliski lokatorowi, ale ograniczony do drzewa i otypowany.