Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2012, 11:35
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Patron IoC e inyeccion de dependencia

El patrón de inyeccion de dependencias lo que busca es desacoplar aún más tu sistema, que tus clases no sean concretas, si no abstractas, y que cambien su comportamiento de forma dinámica dependiendo de los componentes bajo los que este atado.

Es decir, que tu clase, no sepa exactamente con que clase va a trabajar, si no que tenga una interfaz que solo garantice el contrato de funcionamiento de la clase.

Un ejemplo muy típico es un logger, el log recibe como parámetro (o como dependencia) un writer donde va a escribir las entradas del log, el writer como tal es una interfaz, y tiene muchas implementaciones (writer de memoria, en un archivo, por mail, una base de datos, etc), cada writer tiene su tarea específica, y el log no se preocupa por eso, el log lo que hace es crear la entrada y enviarla al writer que tenga especificado en su dependencia.

IoC es esto mismo, o sea tu clase no sabe con que componentes va a trabajar, simplemente sabe las dependencias que necesita (usando Interfaz), y el como se comporta, se hace al momento de usar tu aplicación (normalmente usando un archivo de configuración) donde se describe el comportamiento de la aplicación y es cuando se crean las instancias concretas de cada clase y se inyectan a los componentes que necesitan.

Saludos.