A seconda delle esigenze/codice esistente.
Se si dispone di un'infrastruttura di codice esistente costruita su un contenitore IoC, è possibile combinarli in realtà con MEF. Recentemente ho creato un framework ASP.NET MVC + MEF e un paio di miei lettori hanno chiesto come integrare Unity con il framework MEF + MVC che ho creato. Questo risultato è stato davvero facile, grazie a un progetto chiamato Common Services Locator.
Il progetto CSL è progettato per fornire un'astrazione sulla posizione del servizio, così posso prendere un provider CSL per Unity, collegarlo con un ExportProvider personalizzato e MEF inizia automaticamente a comporre le mie parti guidate da IoC.
Questo è uno dei vantaggi del modello ExportProvider di MEF, è possibile collegare facilmente qualsiasi fornitore aggiuntivo per iniziare a estrarre le esportazioni da una varietà di fonti.
La scorsa settimana I blogged about combining MEF+Unity (e anche MEF + Autofac come un altro exmaple) e sebbene i miei esempi siano orientati per ASP.NET MVC, il concetto è lo stesso per la maggior parte delle altre implementazioni.
Se hai la possibilità di creare qualcosa di nuovo usando MEF, probabilmente troverai che non avrai bisogno di un contenitore IoC, MEF può gestire l'iniezione di proprietà, l'iniezione del costruttore, la gestione a vita parziale e la risoluzione del tipo.
Fatemi sapere se avete domande :)
fonte
2010-07-20 09:54:11
Si prega di indicare una risposta a beneficio della comunità e il vostro indice di gradimento. – RyBolt