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

IoC es simplemente un paradigma de diseño, la idea es invertir el control en lugar de dependencias fijas a interfaces, ej:
Código PHP:
Ver original
  1. class Auto {
  2.       public function __construct()
  3.       {
  4.               $this->motor = new Motor4cil();
  5.               $this->puertas = new 2Puertas();
  6.               $this->llantas = new LlantasDeInvierno();
  7.       }
  8. }

A usar interfaces abstractas:
Código PHP:
Ver original
  1. class Auto
  2. {
  3.          public function setMotor(InterfaceMotor $motor)
  4.          {
  5.                  $this->motor = $motor;
  6.          }
  7.  
  8.          // etc
  9. }
  10.  
  11. // Luego en algún bootstrap
  12. $auto = new Auto();
  13. $motor = Motor::factory('config.motor');
  14. $auto->setMotor($motor);

Es decir el control es invertido, ya no lo tiene la clase Auto, si no lo tiene el archivo de configuración donde se describe el comportamiento de la aplicación.

Van de la mano porque necesitas hacer tu diseño se comporte en base a inyeccion de dependencias, y luego va más alla al usar IoC.

Saludos.