依賴倒置、依賴注入和控制反轉傻傻分不清楚?
阿新 • • 發佈:2020-07-25
## 依賴倒置
啥是依賴倒置?依賴倒置是SOLID原則之一,詞的字面意思就是將依賴關係的倒置。
其實依賴倒置大家早就會了,這個實際上就是面向介面程式設計。舉個例子,現在電子產品更新換代快,可能沒過多久咱們就想換一臺電腦玩玩。即使電腦的品牌不同,但我們還是可以正常使用,總不會換個牌子就不會用了吧。
所以如果用程式碼表示的話,我們用介面`IPC`來代替具體的類,然後各個類去實現它的`programming`方法。
```java
public interface IPC{
void programming();
}
public class User {
private IPC pc;
//如果寫成private Dell dell;
//那我們換成聯想的電腦就麻煩了
public User(IPC pc) {
this.pc = pc;
}
public void usePC(){
pc.programming();
}
}
```
為啥叫它倒置呢,因為
![依賴倒置1](https://img2020.cnblogs.com/blog/1932912/202007/1932912-20200724235333305-33080803.png)
![依賴倒置2](https://img2020.cnblogs.com/blog/1932912/202007/1932912-20200724235349831-1916967353.png)
是不是箭頭倒過來了呢