1. 程式人生 > >Spring之IOC篇章具體解釋

Spring之IOC篇章具體解釋

什麽 alt cti 反轉 獲得 ring 這樣的 圖片 多態

專題一 IOC

1.接口以及面向接口編程

a.結構設計中,分清層次以及調用關系,每層僅僅向外(或者上層)提供一組功能接口,各層間僅依賴接口而非實現類這樣做的優點是,接口實現的變動不影響各層間的調用。這一點在公共服務中尤為重要。

b.“面向接口編程”中的“接口”。是用於隱藏詳細實現。和實現多態性的組件 。

2.什麽是IOC

控制反轉(inversion of control)。控制權的轉移,應用程序本身不負責依賴對象的創建和維護。

而是由外部容器負責創建和維護。(我們不負責對象的創建,由外部(這裏指的是spring容器)容器來創建,我們來使用)

以下是一個spring 官網的圖片來說明這個關系。

技術分享


實現IOC的方法:DI(依賴註入,dependency injection)是其(控制反轉IOC的)一種實現方式。所謂依賴註入,就是由IOC容器。在執行期間,動態的將某種依賴關系註入到對象之中。


IOC的目的:創建對象而且組裝對象之間的關系。這個怎麽理解呢?在初始化的時候,會創建一系列的對象。同一時候它可以把對象之間的這樣的依賴關系通過註入的方式組織起來。

究竟是什麽被反轉了,Martin Fowler經過分析,得出了答案,“ 獲得依賴對象的過程被反轉了”,獲得依賴的過程由自身管理,變成了由IOC容器主動註入。

接下來我們進行生動形象的描寫敘述IOC,我們將IOC與房屋的中介做一個比喻:

房屋中介: IOC

1.找中介 1.找IOC容器

2.中介介紹房子 2.容器返回對象

3.租房,入住 3.使用對象


spring 中的對象叫做 bean

自從有了IOC之後:

不必自己創建對象,由於IOC機制已經提供了。

面向接口編程。IOC隱藏了實現

不用再管理對象了。IOC管理了。













Spring之IOC篇章具體解釋