前言
沒什麼好說的
引一句話:
你是你自己最大的倚仗。
正文
IOC(Inversion of Control)
控制反轉
核心思想是:反轉資源獲取的方向。
容器主動的將資源推送給它所管理的組件。組件只需要選擇一種合適的方式來接受資源。
引用視頻裏的例子來講:
以前要買菜,你得上街去買,IOC的思想則是你在院子裏放個框,菜會自己蹦進來。
其實很好理解,之前是向某個組件發請求要資源,現在是資源自己過來。
DI(Dependecy Injection)
依賴注入
是IOC的另一種表達,組件以預定好的方式(比如getter和setter)接受來自容器的資源注入。
依賴組件注入。
小例子
IOC的前生 – 分離接口與實現
一個service需要通過調接口來生成html或pdf報表。那我需要知道接口,還需要知道接口的具體實現的細節
IOC的前生 – 採用工廠設計模式
使用工廠模式之後,不需要了解接口實現的細節,直接用工廠模式即可。
IOC – 採用控制反轉
使用規格好了的容器(裝菜的籃子),,使用generator接口直接將資源注入給service