亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    ThinkPHP容器之控制反轉(zhuǎn)和依賴注入

    依賴注入控制反轉(zhuǎn)名字聽起來很迷,看了本文你就知道它是個(gè)什么玩意了。

    三、如何理解控制反轉(zhuǎn)和依賴注入

    其實(shí)這倆個(gè)就是指的一個(gè)東西,就是一種編程思想而已,不要想的那么難以理解和高大上。

    那么什么是容器,容器直面理解就是裝東西的東西。在編程中,我們常見的變量、對(duì)象屬性都是一個(gè)容器。一個(gè)容器里邊能夠裝什么,完全取決于對(duì)該容器的定義。

    然而現(xiàn)在我們討論的是另外一種容器,它存儲(chǔ)的既不是文本、數(shù)值,而是對(duì)象、類、接口通過這種容器,得以實(shí)現(xiàn)很多高級(jí)功能,最常用的就是代碼之間的解耦、依賴注入。

    那么為什么會(huì)存在倆種概念,為什么要說控制反轉(zhuǎn)和依賴注入呢!在上文也提到過,它們其實(shí)指的就是一種東西,只是描述的角度不同而已。

    就跟你是爸爸的兒子,你還是你爺爺?shù)膶O子,不管兒子還是孫子都指的是一個(gè)人。只是站在不同的角度看待問題而已。

    控制反轉(zhuǎn)

    是站在容器的角度看待問題,容器控制著應(yīng)用程序,由容器反向的向應(yīng)用程序注入應(yīng)用程序需要的外部資源。

    依賴注入

    是站在應(yīng)用程序的角度看待問題,應(yīng)用程序依賴容器創(chuàng)建并注入它所需要的外部資源。

    作用

    主要用來減少代碼之間的耦合程度。

    有效的分離對(duì)象和應(yīng)用程序所需要的外部資源。

    下面?zhèn)z幅圖就可以很清晰的說明問題

    ThinkPHP容器之控制反轉(zhuǎn)和依賴注入ThinkPHP容器之控制反轉(zhuǎn)和依賴注入

    給大家整一個(gè)簡(jiǎn)單的案例

    定義倆個(gè)類分別為Person、Car,在Person中實(shí)例并調(diào)用Car中的pay方法。

    ThinkPHP容器之控制反轉(zhuǎn)和依賴注入然后在控制器中調(diào)用,并且打印結(jié)果肯定就是Car返回的123,這個(gè)就不去打印了。

    ThinkPHP容器之控制反轉(zhuǎn)和依賴注入
    在這里插入圖片描述

    那這個(gè)時(shí)候我們把代碼修改一下,把Car類直接傳給Person類,在Person類中直接用傳過來的對(duì)象去調(diào)用對(duì)應(yīng)的方法。

    ThinkPHP容器之控制反轉(zhuǎn)和依賴注入這只是一個(gè)簡(jiǎn)單的實(shí)現(xiàn)過程,為了給閱讀框架容器代碼做一個(gè)鋪墊,在后文中會(huì)詳細(xì)說明框架中的容器注入。

    堅(jiān)持學(xué)習(xí)、堅(jiān)持寫博、堅(jiān)持分享是咔咔從業(yè)以來一直所秉持的信念。希望在偌大互聯(lián)網(wǎng)中咔咔的文章能帶給你一絲絲幫助。我是咔咔,下期見。

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)