首頁  >  文章  >  後端開發  >  什麼是依賴注入?

什麼是依賴注入?

一个新手
一个新手原創
2017-10-25 13:16:573706瀏覽

依賴倒置(DIP):DIP是一種設計思想,在傳統的軟體設計中,上層程式碼依賴下層,當下層程式碼改變的時候,上層程式碼也要改變,程式碼不易維護,而DIP設計思想要求定義定義上層接口,下層實現這個接口,從而降低耦合度。

控制反轉(IOC):IOC是DIP的具體思路,將上層所依賴的下層交由第三方實作。也就是說,是在A類中主動去獲所需的外部資源C,這種情況稱為正向的。那什麼是反向呢?就是A類別不再主去取得C,而是被動等待,等待IoC/DI的容器取得一個C的實例,然後反向的注入到A類別中。

依賴注入(DI):DI是IOC的設計模式,將類別以來依賴另一個類別的實例化移到類別的外部實作。

依賴注入是實作:

1.定義介面或抽象類別(這是發郵件範例)


interface Mail{    public function send();
}

2.不同類型的發送實作該介面


class Email implements Mail()
{    public function send()
    {        //发送Email    }
}


#
class  SmsMail implements Mail()
{    public function send()
    {        //发送短信    }
}

3.


##

   __construct( ->_mailObj =  
        ->_mailObj->send();


<span style="color: #008000"><br/>$reg = new Register();<br/>$emailObj = new Email();<br/>$smsObj = new SmsMail();<br/><br/>$reg->doRegister($emailObj);//使用email发送<br/>$reg->doRegister($smsObj);//使用短信发送<br/></span>

以上是什麼是依賴注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn