站長資訊網
最全最豐富的資訊網站

ThinkPHP容器之控制反轉和依賴注入

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

三、如何理解控制反轉和依賴注入

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

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

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

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

就跟你是爸爸的兒子,你還是你爺爺的孫子,不管兒子還是孫子都指的是一個人。只是站在不同的角度看待問題而已。

控制反轉

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

依賴注入

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

作用

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

有效的分離對象和應用程序所需要的外部資源。

下面倆幅圖就可以很清晰的說明問題

ThinkPHP容器之控制反轉和依賴注入ThinkPHP容器之控制反轉和依賴注入

給大家整一個簡單的案例

定義倆個類分別為Person、Car,在Person中實例并調用Car中的pay方法。

ThinkPHP容器之控制反轉和依賴注入然后在控制器中調用,并且打印結果肯定就是Car返回的123,這個就不去打印了。

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

那這個時候我們把代碼修改一下,把Car類直接傳給Person類,在Person類中直接用傳過來的對象去調用對應的方法。

ThinkPHP容器之控制反轉和依賴注入這只是一個簡單的實現過程,為了給閱讀框架容器代碼做一個鋪墊,在后文中會詳細說明框架中的容器注入。

堅持學習、堅持寫博、堅持分享是咔咔從業以來一直所秉持的信念。希望在偌大互聯網中咔咔的文章能帶給你一絲絲幫助。我是咔咔,下期見。

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
9丨精品国产高清自在线看| 亚洲处破女AV日韩精品| 2020国产精品视频| 日韩一区精品视频一区二区| 国产精品免费福利久久| 精品一区二区久久| 国产精品特级毛片一区二区三区| 国产精品无套内射迪丽热巴| 亚洲精品无码久久千人斩| 99精品视频在线| 正在播放国产精品每日更新 | 国产精品无码专区在线观看| 日韩精品人妻av一区二区三区| 日韩大片观看网址| 在线日韩麻豆一区| 一本大道无码人妻精品专区| 亚洲国产主播精品极品网红| 亚洲精品岛国片在线观看| 亚洲精品一级无码鲁丝片| 国产精品99久久精品爆乳| 国产精品亚洲玖玖玖在线观看| 国产精品一级毛片无码视频| 久久久久人妻一区精品果冻| 国产一在线精品一区在线观看 | 亚洲日韩精品无码AV海量| 69国产成人综合久久精品| 国产精品高清视亚洲一区二区| 国产成人精品18| 久久精品国产亚洲AV电影网| 国产精品亚洲lv粉色| 国产精品高清久久久久久久| 中文字幕国产日韩| 日韩免费视频播播| 国产精品嫩草影院久久| 一本色道久久综合亚洲精品| 亚洲AV无码成人网站久久精品大| 亚洲国语精品自产拍在线观看| 中国精品videossex中国高清| 国产精品亚洲综合五月天| 亚洲精品永久在线观看| 亚洲熟女精品中文字幕|