dependency injection - injection - Inversión de control<Inyección de dependencia
inyeccion de dependencias java (3)
Ese es uno de los pocos puntos en los que Mark y yo no estamos de acuerdo. Según mi libro, el principio de inversión de control es el mismo que aquí, así que no lo volveré a hacer.
La inyección de dependencia es simplemente un acto de externalizar la creación de dependencias al mundo exterior por componentes.
La gestión de estas dependencias (y muchas otras cosas) es lo que hacen los Contenedores de Inversión de Control , y el uso de DI como parte de ella, es simplemente un detalle de implementación.
Me da la sensación de que no existe una inversión de control o, más bien, el término correcto es inyección de dependencia. ¿Me equivoco al asumir esto?
He estado tratando de definir IoC por mi propio bien. Al hacerlo, he aprendido mucho sobre los contenedores de IoC y la inyección de dependencia.
En este momento, leí esto desde el sitio web de Martin Fowler :
Como resultado, creo que necesitamos un nombre más específico para este patrón. Inversión de control es un término demasiado genérico, y por eso la gente lo encuentra confuso. Como resultado de una gran cantidad de discusiones con varios defensores de la IoC, nos decidimos por el nombre de inyección de dependencia.
En el mundo de la IoC moderna, ¿la inyección de dependencia no es solo una forma de lograr la IoC?
Sí, IoC significa que la clase en sí no controla las cosas, pero se llama desde fuera. La inyección de dependencia es la manera de hacer esto.
La inyección de dependencia es de hecho un término mucho más concreto, más bien definido que la inversión de control.
Si acepta la definición de Fowler , Inversión de control es un término mucho más amplio que DI que cubre todo el uso del marco donde se conecta a un marco, pero el marco todavía tiene el control.
Por ejemplo, en .NET, los marcos como ASP.NET o Windows Presentation Foundation tienen el control final, pero proporcionan varios eventos y costuras que puede usar para crear una aplicación. Lo mismo ocurre en otras plataformas.
Dependency Injection es una especialización de IoC que aplica IoC específicamente para administrar dependencias.