什么是依賴注入:
依賴注入就是new好了依賴的對象注入進去区岗,而不是在類中顯式的new一個依賴的對象
依賴注入的中心思想:
高層模塊不應依賴于低層模塊昔字,他們都應該依賴于抽象
抽象不依賴細節(jié),細節(jié)依賴抽象
依賴注入的分類:
- 構造器注入
- 屬性注入
- 方法注入
話不多說岂傲,直接上例子(用類圖講解):
舉例一個游戲痰洒,丈夫可以親自己的妻子
Paste_Image.png
1.1 經(jīng)理說要改需求了:更改需求:男的也可以親男的(上邊是不用設計模式,下邊是用設計模式)
Paste_Image.png
Paste_Image.png
1.2 經(jīng)理又說游戲很火瘟裸,但是需求不夠豐富客叉,還要改:更改需求:男的也可以親自己的伴侶(包括貓和狗;上邊是不用設計模式话告,下邊是用設計模式)
Paste_Image.png
Paste_Image.png
Paste_Image.png
這個例子可以很清楚的看出兼搏,如果需求不斷的更改且一個類依賴多個類且依賴他們的抽象類,這樣會導致測試很難而且代碼很難維護沙郭。當使用了依賴注入設計模式后佛呻,會極大的降低耦合度,方便測試病线。但是吓著,在實際應用中,我們通常需要實現(xiàn)一個容器去管理和實現(xiàn)依賴對象的注入送挑,比如spring,xml等方式夜矗。