概念
依赖倒置原则要求依赖抽象,不要依赖具体;抽象的稳定性决定了系统的稳定性,因为抽象是不变的,依赖于抽象是面向对象设计的精髓。
示例
参考:要依赖于抽象,不要依赖于具体
拓展
控制翻转(IOC):里氏替换原则解决了子类可以替换父类的问题,但是子类在什么时候创建,由谁创建就是依赖倒置原则要解决的问题。对象使用前,必须创建具体的对象,如A类中调用了B类的方法,则在A类里面需要创建B的实例对象,则A依赖于B。现在让A依赖于B的父类(接口),A不创建B实例,而是把创建实例的权限交给容器,由容器创建实例给A,容器给那个实例,A用那个实例,A控制权丢失。所谓的容器就是一段代码,如:工厂类、Spring容器等。