Quando si richiede di usare dependency injection, utilizzo sempre contenitori IoC come Ninject, Unity o quello integrato in ASP.Net Core MVC. Tuttavia, ho appena visto l'idea di "perché non creare una fabbrica di oggetti" e quindi invece di intercettare le chiamate ai costruttori parametrizzati (tramite contenitori IoC), recuperare quegli oggetti dalla fabbrica in un costruttore senza parametri. Ad esempio:
Dictionary<Type, Func<Object>> TransientFactory;
Dictionary<Type, Object> SingletonFactory;
Secondo me, questa tecnica velocizzerebbe il tutto, ma non sono sicuro di quanto sarebbe vero e questo è il punto della domanda. Considerando il fatto che il ciclo di vita dell'oggetto può essere facilmente controllato nel contesto di consumo, quali vantaggi può offrire un contenitore IoC in questo caso?