yii2 隨筆(七)依賴注入——(1)什麼是依賴注入

來源:互聯網
上載者:User
在學yii2之前,就已經知道了“依賴注入”的這個名詞,也嘗試瞭解過,但是都是一直雲裡霧裡的,可能是一直沒有機會真實的使用過,所以瞭解的不太徹底,這次學習yii2順便把這個所謂“高大上”給搞定!!!哈哈

在開始“依賴注入”之前,我們先說說設計模式,我覺的從這方面入手可能理解的更快一些。

在最開始學程式時,我們學的是“過程式”編程,比如說實現某些功能,從上到下一句一句的來實現,頂多是把某些通用的功能整理出來當做一些通用包(函數)。再然後我們瞭解到“物件導向”,隨之而來的就是如何應用“對象”的觀念來設計出更好的程式(各種設計模式),而“依賴注入”也是一種設計模式的實現。它的實現解決了我們實現功能時的對“前後依賴”或者說是“內容相關的依賴”的關注。這句話聽起來比較難懂,下面簡單解釋一下。

怎麼理解“前後依賴”

比如說我們要分別製造一輛“寶馬”和一輛“保時捷”,在製造寶馬時,要嚴格的遵守下面的順序(1、2可以不固定順序):

1. 找到寶馬工廠,(require或include)

2. 準備好製造寶馬前的準備(初始化對象的參數,如果參數是對象的話,可能同樣需要準備一些參數。。。)

3. 必須1和2 都準備完全了之後,才可以產生“寶馬”(new BaoMa($params1,$params2….)),就是1 和 2 必須在3之前。

製造“保時捷”要同樣的過程,當然,製造其他的車的時候,也都要走一遍這個過程。這就是“前後依賴”的問題。有沒有一種辦法可以把實現車的這個過程單獨整理出來實現通用呢?也就是說先把實現過程準備好,然後再提供“原材料”,要實現什麼東西,就要看你提供的什麼“原材料”(依賴注入)。

以上就是yii2 隨筆(七)依賴注入——(1)什麼是依賴注入的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.