為控制反轉更名

2021-06-02 23:21:34 字數 1040 閱讀 4144

為控制反轉更名

郵件:[email protected]

控制反轉的本質是為了解耦,讓兩個邏輯單元的依賴變得沒有那麼強,但做不到完全消除依賴,所以在有些書上又提到了依賴倒轉,但對於第一次聽到這樣的名詞還是丈二和尚摸不著頭腦.其實也沒有那麼難,其實大道至簡,就像兩點之間確定一條直線那樣樸實簡明,

軟體之所以引進這個模式那個原則,無非就是解決擴充套件和維護的問題,隨著你我參與軟體專案的時間增多,尤其是產品,一版版的增加無止境的需求,還得考慮人員的不斷流動變化, 這種設計思想必然在設計之初,就必須遵守。

在解決軟體的問題大部分的時候都是引入了中間層的方式來解決,在it領域裡把這種方式應用的淋漓精緻乙個是tcp/ip,另乙個就是硬體設計中的介面標準.

l      tcp/ip就像洋蔥一樣層層的把資料封裝,下層並不知道上層的格式,只是知道就是一堆資料.其中每一層都是責任單一,物理層就是完成高低電平的,網路層就是組織ip資料的.這裡有引出了「責任單一原則」.

l      另乙個就是硬體之間的介面,例如:pci和usb, 這個又和oo中介面比較像. 主機和***裝置之間都是依賴usb,而不是主機今天實現和a型號的***連通,明天又和b型號的***連.

哈哈,說到這裡,給它起乙個名字,  ----間接原則。

是否發現軟體設計還比不上硬體設計方面有內涵,我個人感覺這跟軟體犯錯成本要比硬體或其他低.正如大家很少聽到軟體召回, 只是可能需要不停的打補丁.10年的從業經驗告訴我實際上就是這樣處理的, 前些日子暴風的召回又多半有炒作的嫌疑.說了這麼多少,其實發現沒有軟體就是使用者和硬體之間的介面,

道生一,一生二,二生三,三生萬物。

回到解決依賴問題,例如我a依賴b,通過分析我們引入c,當然肯定不是簡單引入c,其實設計分析的靈魂就是提取乙個穩定的c,這樣a和b都會因為穩定c的引入,而解耦了,到這裡是否感覺到依賴轉移了.正如下圖所表達的一樣:

控制反轉應該叫「依賴解耦」

控制反轉 依賴注入和控制反轉

依賴注入 di 和控制反轉 ioc 基本是乙個意思,因為說起來誰都離不開誰。簡單來說,a依賴b,但a不控制b的建立和銷毀,僅使用b,那麼b的控制權交給a之外處理,這叫控制反轉 ioc 而a要依賴b,必然要使用b的instance,那麼 通過a的介面,把b傳入 通過a的構造,把b傳入 通過設定a的屬性...

Spring IoC(控制反轉)

在spring中ioc 控制反轉 是通過使用di 依賴注入 設計預設實現的,那麼什麼是依賴注入呢,所謂依賴注入即是指將呼叫類對介面實現類的依賴關係由第三方注入,取消呼叫類對介面實現類的依賴關係。通過乙個簡單的例子來幫助我們理解依賴注入。首先定義乙個介面,裡面只有乙個quizmaster方法 pack...

Spring IoC(控制反轉)

在spring中ioc 控制反轉 是通過使用di 依賴注入 設計預設實現的,那麼什麼是依賴注入呢,所謂依賴注入即是指將呼叫類對介面實現類的依賴關係由第三方注入,取消呼叫類對介面實現類的依賴關係。通過乙個簡單的例子來幫助我們理解依賴注入。首先定義乙個介面,裡面只有乙個quizmaster方法 pack...