控制反轉(Inversion of Control,縮寫為IoC),是物件導向程式設計中的一種設計原則,可以用來減少電腦程式碼之間的耦合度。
其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI),還有一種方式叫做「依賴尋找」(Dependency Lookup)。透過控制反轉,物件在被創建的時候,由一個調控系統內所有物件的外界實體將其所依賴的物件的引用傳遞給它。也可以說,依賴被注入到物件中。
IoC是一個很大的概念,可以用不同的方式實現。
其主要形式有兩種:
依賴查找:
容器提供回呼介面和上下文條件給元件。 EJB和Apache Avalon 都使用這種方式。這樣一來,元件就必須使用容器提供的API來尋找資源和協作對象,僅有的控制反轉只體現在那些回呼方法上(也就是上面所說的類型1):容器將呼叫這些回呼方法,從而讓應用程式碼獲得相關資源。
依賴注入:
元件不做定位查詢,只提供普通的Java方法讓容器去決定依賴關係。容器全權負責的元件的組裝,它會把符合依賴關係的物件經由JavaBean屬性或建構函式傳遞給需要的物件。透過JavaBean屬性注射依賴關係的做法稱為設值方法注入(Setter Injection);將依賴關係作為建構子參數傳入的做法稱為建構器注入(Constructor Injection)
以上是ioc是什麼意思的縮寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具