En la práctica, los diseños basados en inyección de dependencia son mucho más fáciles de manejar porque hay más control, menos acoplamiento entre clases, más flexibilidad con la implementación y permite un uso más amplio de las clases existentes Una aplicación.
Depende de cuán claramente definidas o intuitivas sean las dependencias también. Viniendo de un fondo nativo de C++, encontré partes en .NET donde las dependencias eran claramente obvias y proporcionaban mucha flexibilidad, pero otras áreas que simplemente no entendía en absoluto y no podían comprender de inmediato los requisitos para usar un determinado fragmento de código u objeto, debido a una variedad de factores que incluyen el nombre de la clase y mi conocimiento del sistema.
Digo, si va a diseñar su código con inyección de dependencia en mente, intente hacer que las dependencias sean lo más claras e intuitivas posible.
Esa es mi idea de todos modos.
Ver: http://stackoverflow.com/questions/976994/when-is-using-ioc-appropriate –
No es una exacta duplicar, ya que existe una diferencia entre la inyección de dependencia y un "contenedor IoC", al igual que los proveedores de este último gustaría que la gente piense lo contrario. –
[Este] (http://tutorials.jenkov.com/dependency-injection/when-to-use-dependency-injection.html) artículo habla extensamente sobre cuándo usar y cuándo no usar DI. –