Documentos de Académico
Documentos de Profesional
Documentos de Cultura
$elf->shoot($orc);
/**
* Dependency injection using a setter method
*/
public function setBow(BowInterface $bow)
{
$this->bow = $bow;
}
public function shoot($target)
{
return $this->bow->shoot($target);
}
}
Uso de interfaces
Una interfaz nos permite crear implementaciones de forma segura.
En nuestro ejemplo siempre que LongBow o cualquier arco que
creemos implemente la interfaz "BowInterface" podr ser usada
por el objeto Elf sin problemas:
Cdigo :
class LongBow implements BowInterface {
public function shoot($target)
{
// A long bow should have more range and be more powerful
Conclusin
La inyeccin de dependencias es el fondo un concepto sencillo que
har tus objetos mucho ms flexibles y menos dependientes unos
de otros.
En un prximo tutorial veremos este concepto con el
framework Laravel