<Java设计模式>---依赖倒置原则(DIP)
来源:互联网 发布:worknc软件怎么样 编辑:程序博客网 时间:2024/05/17 02:25
什么是依赖倒置原则
- 高层模块不应该依赖底层模块,两者都应该依赖器抽象。
- 抽象不应该依赖细节,细节应该依赖抽象。
个人理解,高层模块和抽象对应Java里面,应该是抽象类、接口,而底层模块和细节对应Java里面,应该就是具体的实现类,放在咱们开发中怎么理解他们之间的依赖关系呢?假如你需要完成一个功能,但是这个功能,不能自己一个类就能完成的,需要其他的类,那么这个时候就需要用到其他的类,那么你依赖的这个类,最好依赖他的父类或者接口。
举个例子
小王由于想玩一些大型的3D游戏,但是由于目前自己电脑配置太低了,于是想到去升级自己的电脑,于是他升级的配件有CPU、显卡、内存条、硬盘,咱们就以升级内存条为例,目前市场上内存条代次有DDR、DDR2、DDR3、DDR4,小王肯定要想看看自己电脑主板支持什么样的代词,然后去市场选购,这个时候他发现自己需要的DDR3代次的内存条,有不同的厂商产品,那么他只要根据自己需要的代次,选购就行了,根本不需要区分厂商。那么为什么不同厂商生产的内存的都可以使用呢?哈哈,这个就是依赖倒置原则,每个厂商都遵守不同代次的标准,就行了。所以小王只需要关心内存条的代次就行了,符合自己需要的代次的内存条都是可以使用的,压根不需要关心什么厂商生产的。
代码中如何依赖
- 构造函数传递依赖对象。
- Setter方法传递依赖的对象。
- 接口生命依赖的对象,简称接口注入。
代码具体实践
- 每个类尽量都有接口和抽象类,或者都拥有。
- 接口的表面类型尽量是接口或者是抽象类。
尽量根据具体的业务来进行相关的处理,规则是死的,业务是活的,就像JavaBean,不见得非要搞接口和抽象类继承下吧。 - 任何类都不应该从具体了派生。
如果出现的这种情况,可以看看具体的业务,将两者提取一个抽象类或者接口,然后两者在进行继承。 - 尽量不要覆写父类已经实现的方法。
- 结合里斯替换原则进行使用。
阅读全文
0 0
- 设计模式--------依赖倒置原则(DIP)
- <Java设计模式>---依赖倒置原则(DIP)
- 设计模式六大原则之--依赖倒置原则(DIP)
- 设计模式六大原则---依赖倒置原则(DIP)
- 设计模式六大原则之--依赖倒置原则(DIP)
- 设计模式原则—依赖倒置原则(DIP)
- Java 设计模式(十二) 依赖倒置原则(DIP)
- java设计模式—依赖倒置原则(DIP)
- 设计模式无限重读之依赖倒置原则(DIP)
- 依赖倒置原则(DIP)
- 依赖倒置原则(DIP)
- 设计模式六大原则(3):依赖倒置原则DIP(Dependence Inversion Principle)
- 设计模式六大原则(四)-- 依赖倒置原则(DIP)
- 设计模式六大原则例子(四)-- 依赖倒置原则(DIP)例子
- 依赖倒置原则(DIP)Dependence Inversion Principle --- 设计模式原则
- 设计模式之六大原则——依赖倒置原则(DIP)
- 设计模式之六大原则——依赖倒置原则(DIP)
- 设计模式之六大原则——依赖倒置原则(DIP)
- mysql基本更新语句
- java读取zookeeper中的配置文件信息
- Matlab学习笔记(7)——importdata和load函数
- Golang优秀开源项目汇总
- js和html的注册页面
- <Java设计模式>---依赖倒置原则(DIP)
- thinkphp5 with的常用写法
- jvm系列(三):GC算法 垃圾收集器
- call+apply
- 商城首页的展示方法
- 分布式机器学习平台大比拼:Spark、PMLS、TensorFlow、MXNet
- 全球开发者各出奇招:我们想这样适配iPhone X
- MacBook VMWare Fusion 安装Centos6
- SQL自定义函数split 将数组(分隔字符串)返回阵列(表)