Категорија: Зенд_Цацхе

Куицк Старт Симфони ди (Зависност Ињецтион) Туторијал

Би , субота 14. август 2010 2:21 ам

Шта је зависност убризгавања (ДИ)?

Зависност ињекција је техника која омогућава лабаво повезан објеката у оквиру софтверске апликације. Генерално ако објекат захтева приступ функционалности другог, било би инстанце интерно води тесно повезан система. Имплементацијом зависност убризгавање ми убризгавају потребне објекте спреман за употребу (понекад се такође назива инверзија контроле - МОК). Узмите следећи пример:

  <Пхп?
 класе доносиоца одлука у {
     јавну функцију макеДецисион (низ $ параметри) {
         / / Треба базе података адаптера
         $ ДП = нових ДецисионПараметерс ();
         $ ПараметерСцоре = $ ДП-> гетСцоре ($ параметри);
         / * ...  Још неке одлуке логике ...  * /
         повратак ($ параметерСцоре> 50);
     }
 } 

Овај део кода се каже да је чврсто повезан за објекат ДецисионПараметерс. Преписивање наведено у лабаво повезан начин имали би нешто налик ....

  <Пхп?
 класе доносиоца одлука у {
     приватне $ _дп;
     јавну функцију __цонструцт ($ дп) {
         $ Тхис-> _дп = $ ДП;
     }
     јавну функцију макеДецисион (низ $ параметри) {
         $ ПараметерСцоре = $ тхис-> _дп-> гетСцоре ($ параметри);
         / * ...  Још неке одлуке логике ...  * /
         повратак ($ параметерСцоре> 50);
     }
 } 

Док стицање предности лабаво повезан кода смо и додао сложености, тако да сваки пут када објекат инстанце имамо и циљ да своје зависности и доноси их у сувише. На пример, ово:

  $ Избор = нових доносиоца одлука у ();
 ецхо $ избор-> макеДецисион (арраи ('напор' => 'ниске', 'повратак' => 'висока')); 

сада постаје:

  $ ДП = нових ДецисионПараметерс ();
 $ Избор = нових доносиоца одлука у ($ ДП);
 ецхо $ избор-> макеДецисион (арраи ('напор' => 'ниске', 'повратак' => 'висока')); 

Ова ситуација постаје болно као број зависности за класу је повећана, а шта ако зависности сами зависности? Ово може веома брзо постати предмет администрација ноћна мора! Унесите контејнера зависност ињекције (или оквира) ...
Наставити читање 'Куицк Старт Симфони ди (Зависност Ињецтион) Туторијал' »













Панорама Тхеме би Тхемоцраци

4 посетилаца на форуму
1 гостију, 3 робота, није видљива 0 чланова
Макс посетилаца данас: 19 у 06:09 пм УТЦ
Овог месеца: 19 у 19-08-2011 06:09 пм УТЦ
Ове године: 130 у 28-03-2011 10:40 пм УТЦ
Алл Тиме: 130 у 28-03-2011 10:40 пм УТЦ