Changes in Ninject 2 dire che Ninject supporta Common Service Locator, ma come si usa? Non trovo alcun manuale o campione.Come utilizzare lo strumento di localizzazione dei servizi comuni in Ninject 2
risposta
Il download di Ninject2 contiene CommonServiceLocator.NinjectAdapter.dll
(nella cartella "estensioni" del file zip). Aggiungi questa DLL e lo Ninject.dll
al tuo progetto.
nel percorso di avvio dell'applicazione (dopo la configurazione del kernel Ninject), è possibile utilizzare il seguente codice:
IKernel ninject = ...;
var locator = new NinjectServiceLocator(ninject);
ServiceLocator.SetLocatorProvider(() => locator);
Si prega di notare che il servizio Locator comune (CSL) è una libreria che fornisce un'astrazione su contenitori IoC e contiene una facciata statica (implementando il pattern Locator di servizio). È un'interfaccia comune che gli sviluppatori possono utilizzare per prevenire a seconda dell'implementazione IoC specifica. Il CSL è particolarmente utile per gli sviluppatori di framework. Gli sviluppatori di applicazioni sono migliori di utilizzare il modello di dipendenza (DI). Quando viene utilizzato correttamente, non è necessario utilizzare CSL in un'applicazione. Mentre il CSL è più adatto allo sviluppo di framework, anche lì trovo discutibile l'uso del CSL. Credo che il più delle volte l'uso di tale interfaccia comune possa essere rimosso con una progettazione adeguata.
Cosa fa CommonServiceLocator? – Chev
Gotcha, grazie per le informazioni. Sono d'accordo con te. – Chev