文章標籤:依賴注入

快速入門Symfony的​​DI(依賴注入)教程

,2010年八月十四日(星期六)14:21

依賴注入 (DI)的是什麼?

依賴注入是一種技術,它允許在一個軟件應用程序的鬆散耦合的對象。 一般來說,如果一個對象需要訪問的另一個功能,它會被實例化,國內領先的緊耦合的系統。 我們通過實現依賴注入注入所需的對象準備使用(有時也被稱為控制反轉 - 國際奧委會)。 看看下面的例子:

  <?PHP
類決策者{
    公共的功能makeDecision(數組$參數){
         / /需要的數據庫適配器
         $ DP =新DecisionParameters();
        美元parameterScore = $ DP-> getScore(參數);
         / * ... 一些更多的決策邏輯...  * /
        回報(美元parameterScore> 50);
     }
 } 

這一段代碼表示,要緊密結合的DecisionParameters對象。 在鬆散耦合的方式重寫以上,我們就會有類似....

  <?PHP
類決策者{
    私營美元_dp;
    公共職能__結構(DP){
         - > _dp = $ DP;
     }
    公共的功能makeDecision(數組$參數){
        美元parameterScore = $  - > _dp> getScore(美元參數);
         / * ... 一些更多的決策邏輯...  * /
        回報(美元parameterScore> 50);
     }
 } 

雖然獲得鬆散耦合的代碼的好處,我們也有實例化它的依賴,並在太通過這些,我們增加了複雜性,每次一個對象被實例化。 例如:

  $選擇=新的決策者();
呼應選擇> makeDecision(陣列('努力'=>'低','回報'=>'高')); 

現在變成了:

  $ DP =新DecisionParameters();
為選擇新的決策人(DP);
呼應選擇> makeDecision(陣列('努力'=>'低','回報'=>'高')); 

一類的依賴關係的數量增加,這種情況變得更加痛苦,如果自己有依賴的依賴呢? 這可以很快成為一個對象管理的惡夢! 輸入的依賴注入容器(或框架)...
繼續閱讀“快速入門Symfony的​​DI(依賴注入)教程”»













全景主題 themocracy

6訪客在線
5位,1機器人,0成員
今天最多訪問:在15日上午05:20
本月26日在2012年4月4日10:27 PM UTC
今年:27-02-2012九時56分,69時UTC
所有時間:130 28-03-2011 10:40 PM UTC