..
Inversión 'S de Control (IoC) es una característica típica de la estructura, que se mueve el control de flujo por la aplicación para el propio marco.
Tomemos un ejemplo para clarificar el concepto: si se crea una interfaz gráfica de usuario de la API a través de giro , el programador sólo necesita implementar los manejadores de eventos activados por el usuario, como pulsar un botón o la introducción de texto. Marco se queda para controlar el flujo de la aplicación, tales como el cierre y la apertura de ventanas.
Este tipo de comportamiento se conoce como IoC, porque se mueve el control por el desarrollador del marco.
Una vez está claro lo que el COI, vemos cómo se utiliza en la primavera.
Todas las aplicaciones consisten en objetos que llegan a la meta predeterminada deben cooperar unos con otros, e inevitablemente se forman dependencia.
Normalmente, estas dependencias se resuelven mediante un código que es adecuado para la configuración (por lo general el fabricante).
Supongamos que tenemos que implementar una clase para la gestión de una tienda de videos:
it.mrwebmaster paquete;
importación java.util.ArrayList;
importación java.util.List;
{Public VideoManager clase
DvdService DvdService privado;
VideoManager pública () {
super ();
/ **
* Configuración y resolución de dependencias
* /
this.dvdService DvdServiceImpl = new ();
}
<Dvd> Lista getAvalaibleDvdList pública () {
/ **
* Recuperar la lista de DVD
* /
Lista <Dvd> dvdList dvdService.getDvdList = ();
/ **
* Recorrer la lista de los DVD para encontrar
* Los disponible
* /
Lista = new ArrayList <Dvd> availabeDvdList <Dvd> ();
para (DVD DVD: dvdList) {
if (dvd.isDisponibile ()) {
availabeDvdList.add (DVD);
}
}
availabeDvdList retorno;
}
}
En este ejemplo el VideoManager clase tiene la tarea de recuperar la lista de no alquilar DVD. La lista se recupera mediante un servicio (DvdService), que recupera una lista de todos los DVD, y el ciclismo en la lista son los DVD disponibles. El VideoManager clase, por lo tanto, tiene una dependencia de la DvdService objeto, que se resuelve en el constructor.

Si no hubiéramos utilizado la primavera tendríamos que preocuparse por resolver el VideoManager dipendeza en el constructor de la clase, ya que la dependencia se resolvería en la primavera.
En la primavera, entonces, el COI se utiliza para invertir el control de las dependencias de configuración.
Por esta razón, fue acuñado por Martin Fowler, en su famoso artículo , la inyección Dependecy plazo (DI), que a veces se utiliza incorrectamente como sinónimo de Identificación del COI.
El concepto básico del DI es tener un objeto por separado a la resolución de dependencias y la inicialización.
La clase de ensamblador siguiente, tiene la tarea de iniciar el DvdService clase:

Hay tres tipos de inyección Dependecy:
| |
Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €. |
| |
PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €. |
| |
Ruby y Ruby on Rails (Curso)
Crear aplicaciones de software y la Web con Ruby y RoR. A partir de 39 €. |