K cemu je dobre Dependency injection

Dependency injection je programatorska technika, ktera tridam (ci metodam nebo funkcim) odebira potrebu ziskavat prostredky, ktere potrebuji ke svemu behu. Naopak si o ne primo reknou ve svych konstuktorech (pres povinne paramtery) a vy jim je musite predat uz pri jejich vytvoreni/zavolani.

Prehlednost kodu

Pouziti Dependency injection zvysuje prehlednost kodu. Nemusite procitat cely kod, abyste videli, jake prostredky musi byt k dispozici.
class Foo {
   protected $resource;

   public function __construct() {
      //telo konstruktoru
      //nacteni potrebnych prostredku z global
      $this->resource = $globalResource
   }
}
--
Staci se mrknout, jake paramtery funkce prebiraji a hned mate jasno.
class Foo {
   protected $resource;

   public function __construct($resource) {
      $this->resource = $resource
      //telo funkce
   }
}
--
<h2>Prenositelnost</h2>
Kdyz budete chtit pouzit Vasi tridu i v jinem projektu, nemusi Vas zajimat pod jakym nazvem je ona potrebna promena ulozena (je to <em>$db</em> nebo <em>$database</em>?). Prostredky dostanete jako parametry a pak uz si s nimi delejte co chcete :)

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *