2010-04-12 7 views

risposta

12

IServiceLocator è un'astrazione di un localizzatore di servizio. I contenitori IoC sono una sorta di superserie di localizzatori di servizi in modo che possano essere rappresentati da IServiceLocator. Tuttavia, il pattern del localizzatore di servizi è più intrusivo del modello di iniezione di dipendenza pura, quindi dovresti cercare di favorire quest'ultimo quando possibile.

Il CommonServiceLocator fornisce l'interfaccia IServiceLocator e un'implementazione astratta di questa interfaccia per definire comportamento comune e aiutano contenitori IoC definiscono loro adattatore IServiceLocator (ogni grande contenitore CIO fornisce un tale adattatore).

Consulta anche:

+0

Thx! Buona risposta. Non riesci a trovare un adattatore IServiceLocator per Ninject, ma forse non è considerato importante? (ref * (ogni principale contenitore IoC fornisce tale adattatore) *) – stiank81

+0

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

+0

Cool - thx. Ho già scritto la stessa cosa anche se .. – stiank81