依赖倒置、依赖注入和控制反转傻傻分不清楚?
依赖倒置、依赖注入和控制反转傻傻分不清楚?
依赖倒置
啥是依赖倒置?依赖倒置是SOLID原则之一,词的字面意思就是将依赖关系的倒置。
其实依赖倒置大家早就会了,这个实际上就是面向接口编程。举个例子,现在电子产品更新换代快,可能没过多久咱们就想换一台电脑玩玩。即使电脑的品牌不同,但我们还是可以正常使用,总不会换个牌子就不会用了吧。
所以如果用代码表示的话,我们用接口IPC
来代替具体的类,然后各个类去实现它的programming
方法。
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();
}
}
为啥叫它倒置呢,因为
是不是箭头倒过来了呢