<Java设计模式>——依赖倒置原则(DIP)内存条我只要ddr3

什么是依赖倒置原则

  • 高层模块不应该依赖底层模块,两者都应该依赖器抽象。
  • 抽象不应该依赖细节,细节应该依赖抽象。
    个人理解,高层模块和抽象对应Java里面,应该是抽象类、接口,而底层模块和细节对应Java里面,应该就是具体的实现类,放在咱们开发中怎么理解他们之间的依赖关系呢?假如你需要完成一个功能,但是这个功能,不能自己一个类就能完成的,需要其他的类,那么这个时候就需要用到其他的类,那么你依赖的这个类,最好依赖他的父类或者接口。

举个例子

小王由于想玩一些大型的3D游戏,但是由于目前自己电脑配置太低了,于是想到去升级自己的电脑,于是他升级的配件有CPU、显卡、内存条、硬盘,咱们就以升级内存条为例,目前市场上内存条代次有DDR、DDR2、DDR3、DDR4,小王肯定要想看看自己电脑主板支持什么样的代词,然后去市场选购,这个时候他发现自己需要的DDR3代次的内存条,有不同的厂商产品,那么他只要根据自己需要的代次,选购就行了,根本不需要区分厂商。那么为什么不同厂商生产的内存的都可以使用呢?哈哈,这个就是依赖倒置原则,每个厂商都遵守不同代次的标准,就行了。所以小王只需要关心内存条的代次就行了,符合自己需要的代次的内存条都是可以使用的,压根不需要关心什么厂商生产的。

63d9f2d3572c11df4763bef6652762d0f603c2b1.jpg

代码中如何依赖

  • 构造函数传递依赖对象。
  • Setter方法传递依赖的对象。
  • 接口生命依赖的对象,简称接口注入。

代码具体实践

  • 每个类尽量都有接口和抽象类,或者都拥有。
  • 接口的表面类型尽量是接口或者是抽象类。
    尽量根据具体的业务来进行相关的处理,规则是死的,业务是活的,就像JavaBean,不见得非要搞接口和抽象类继承下吧。
  • 任何类都不应该从具体了派生。
    如果出现的这种情况,可以看看具体的业务,将两者提取一个抽象类或者接口,然后两者在进行继承。
  • 尽量不要覆写父类已经实现的方法。
  • 结合里斯替换原则进行使用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,372评论 11 349
  • 【一心丨的第三十七篇【写他】】 【我和你】 我们的关系:来自于吉财三舍一个楼层的斜对面寝室邻居,能认识你是我在为【...
    Sunny哈哈阅读 705评论 10 8
  • 如果说人生如诗,少年就当是最优美的段落。 如果说人生如歌,少年就当是最动听的部分。 少年时代的我们,冲动、任性、放...
    两个评论员阅读 203评论 0 1