2010-04-12 22 views

Odpowiedz

12

IServiceLocator jest abstrakcją lokalizatora usług. Kontenery IoC są rodzajem nadzbiorów lokalizatorów usług, dzięki czemu mogą być reprezentowane przez IServiceLocator. Wzorzec lokalizatora usług jest jednak bardziej inwazyjny niż wzorzec wtrysku czystej zależności, dlatego powinieneś starać się faworyzować tę drugą, gdy tylko jest to możliwe.

Usługa CommonServiceLocator udostępnia interfejs IServiceLocator i abstrakcyjną implementację tego interfejsu w celu zdefiniowania typowych zachowań i ułatwienia kontenerom IoC zdefiniowania ich adaptera IServiceLocator (każdy główny kontener IoC zapewnia taką kartę).

Zobacz także:

+0

Thx! Dobra odpowiedź. Nie można znaleźć adaptera IServiceLocator dla programu Ninject, ale może nie jest on uważany za poważny? (ref * (każdy główny kontener IoC dostarcza taki adapter) *) – stiank81

+0

zobacz http://github.com/enkari/ninject/tree/2.0.0.0/src/CommonServiceLocator.NinjectAdapter/ –

+0

Cool - thx. Już sam napisałem to samo .. – stiank81