Java设计模式之依赖倒置原则

java 设计原则的依赖倒置原则 -- DIP

Denpendence Inversion Principle

特点是

  1. 高层模块不依赖底层模块'''两者都依赖于抽象'''
  2. 抽象不依赖于细节
  3. 细节应该依赖于抽象

--java中的具体体现是--

  1. 模块间依赖通过抽象发生,实现类之间不直接产生依赖关系,其依赖关系通过接口或者是抽象关系产生
  2. 接口或抽象不依赖于具体的实现类
  3. 实现类依赖于接口或者抽象类
    个人觉得这几点总结非常好,而且在实际场景中我们应该去多加应用,而且对源码的解读也会有很大的帮助

一个金典例子

司机开车,有奔驰和宝马两种车,依赖倒置原则显示如下:
图示

//司机接口
public interface Idriver{
    public void drive(Icar car);
}

//描述类
public class Driver implements Idriver{
    public void drive(Icar car){
        car.run();
    }
}

//抽象接口所有车都能run
public interface Icar{
    public void run();
}

//奔驰车
public class Benz implements Icar{
    public void run(){
        syso("奔驰行驶");
    }
}

//宝马车
public class BMW implements Icar{
    public void run(){
        syso("宝马行驶");
    }
}

//测试类
public class Test{
    public static void main(String[] args){
        Idriver driver = new Idriver;
        Icar car = new BMW();
        driver.drive(car);
    }
}

宝马行驶

会感觉到现在就是面向接口编程,有时候会使项目结构更清晰,减少代码量,个人非常推崇

借助于:电子工业出版社《设计原则》

posted @ 2017-11-16 12:10  ontoweb-zp  阅读(512)  评论(0编辑  收藏  举报