java依赖倒转原则_Java设计模式之依赖倒置原则

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

Denpendence Inversion Principle

特点是

高层模块不依赖底层模块'''两者都依赖于抽象'''

抽象不依赖于细节

细节应该依赖于抽象

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

模块间依赖通过抽象发生,实现类之间不直接产生依赖关系,其依赖关系通过接口或者是抽象关系产生

接口或抽象不依赖于具体的实现类

实现类依赖于接口或者抽象类

个人觉得这几点总结非常好,而且在实际场景中我们应该去多加应用,而且对源码的解读也会有很大的帮助

一个金典例子

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

e2995ecdcbaf190f7a58d81d234eea99.gif

//司机接口

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);

}

}

宝马行驶

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值