控制反轉 (IoC) 與 依賴注入 (DI)
IoC ,是一種 設計原則 : 藉由 『 分離組件 (Components) 的設置與使用 』,來降低類別或模組之間的耦合度 (i.e., 解耦)。 我的偶像 軟體開發教父 —— Martin Fowler ,因認為 “IoC” 的意義易使人困惑, 於 2000 年初,與多位 IoC 提倡者,給予其實作方式一個更具體的名稱 — — " Dependency Injection (依賴注入) "。 IoC/DI 很好的實現 好萊塢原則 (Hollywood Principle)、 依賴倒置原則 (Dependency Inversion Principle, DIP) 、 開閉原則 ( Open-Closed Principle ) …etc., 是框架的必備特徵,當然也是各語言主流框架的核心 (e.g. : Spring, Laravel, .Net MVC …) 。 目錄 [ 隱藏 ] 控制反轉 (Inversion of Control) 控制反轉 (Inversion of Control) vs 依賴反轉 (Dependency Inversion) 如果違反 依賴倒置原則 ? 如果想實現 依賴倒置原則 ? 好萊塢原則 (Hollywood Principle) 依賴注入 (Dependency Injection) 建構元注入 (Constructor Injection) vs 設值方法注入 (Setter Injection) IoC/DI vs 工廠方法模式 (Factory Method Pattern) IoC 容器 (IoC Container) 網咖容器範例 總結 More 控制反轉 (Inversion of Control) 有去過 網咖 吧? 網咖,我們曾經的第二個家,有著歡笑、幹瞧、泡麵的桃源鄉。 還有多到哭的遊戲, 譬如:流星蝴蝶劍、天堂、RO、勁舞、世紀帝國、CS、淡水阿給、 三國、信長、守女、國王 TD、跑跑、惡靈勢力、GTA、LOL ⋯⋯ 。(青春再見 ) 除了當天最新版更新、GGC 出包,或是網...