美文网首页
四、依赖倒置(倒转)原则

四、依赖倒置(倒转)原则

作者: Serenity那年 | 来源:发表于2018-10-28 21:30 被阅读3次

依赖倒置原则:抽象不依赖细节,细节应该依赖抽象;说白了就是:针对接口编程,不要对实现编程。
举个例子:在生活中我们使用的pc电脑,我们可以把它理解成大的软件系统,里面的部件如CPU、内存条、硬盘、显卡等可以理解为程序中封装的类,由于PC易插拔的方式,那么不管哪个出了问题,都可以在不影响其他部件的前提下进行修改或替换(职责单一原则),而内存不够了,加个硬盘即可(开闭原则);我们知道CPU的对外都是针脚式或者触点式等标准接口,只需要把接口定义好,内部再复杂也不让外部知道,而主板只需要预留与CPU针脚的插槽就可以了(依赖倒置原则);

无论主板还是内存条,或者CPU等都是针对接口设计的,如果针对实现设计,那么内存条就要对应到具体品牌的主板,就会出现换内存就可能要换主板,这tmd就尴尬了;因此要针对接口编程,不是对实现编程;


那"倒置"怎么解释呢?

在面向过程的编程中,我们为了使一些常用的代码能够复用,一般都会把这些代码写成许多函数或者函数库,这样我们在做新项目的时候,导入这些库去调用就可以了;比如说我们做项目常常需要访问数据库,所以我们就把访问数据库的代码写成函数,每次开发新项目的时候去调用这些函数就可以了--这叫高层模块依赖底层模块;问题就出现在这里,高层模块的业务逻辑依赖于底层模块,但是如果需要用不同的数据库或者储存方式,这时就出问题了:就没有办法复用这些函数库,修改底层时高层的调用也要修改;
为了解决这个问题,我们让高层和底层都依赖于抽象,具体一点就是依赖接口或者抽象类,只要接口稳定,那么任何一个地方修改了都不用担心其他地方受到影响;这就使得无论高层模块还是底层模块都可以很容易的被复用;
像这种不在依赖底层了,都同时依赖抽象,我们就称这种依赖关系为:倒置;

那么问题来了,为什么依赖了抽象或者接口,就不怕高层或者底层更改呢?这就需要下一个设计原则--里式替换原则;

相关文章

  • 依赖倒转原则

    依赖倒转原则 依赖倒转原则也称为依赖倒置原则。 依赖倒转原则: 高层模块不应该依赖低层模块,两个都应该依赖抽象。 ...

  • 四、依赖倒置(倒转)原则

    依赖倒置原则:抽象不依赖细节,细节应该依赖抽象;说白了就是:针对接口编程,不要对实现编程。举个例子:在生活中我们使...

  • 设计模式原则-依赖倒置原则

    1、什么是依赖倒转原则? 所谓依赖倒置原则,就是不论高层组件和低层组件都应该依赖于抽象,而不是具体实现类。听起来更...

  • 依赖倒置原则

    依赖倒置原则 “依赖倒置原则(Dependence Inversion Principle,DIP)” 定义: 高...

  • 1_设计模式七大原则

    1.单一职责原则 2.接口隔离原则 3.依赖倒转(倒置)原则 4.里氏替换原则 5.开闭原则 6.迪米特法则 7....

  • 依赖倒置/好莱坞原则/控制反转

    # 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 依赖倒置原则: - 高层模块不应该依赖...

  • 第二周

    请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 依赖倒置原则 Dependency Inv...

  • 依赖倒置原则(DIP)

    依赖倒置原则定义 依赖倒置原则(Dependence Inversion Principle ,DIP)定义如下:...

  • 依赖倒置原则

    个人博客原文:依赖倒置原则 设计模式六大原则之三:依赖倒置原则。 简介 姓名 :依赖倒置原则 英文名 :Depen...

  • 架构师训练营第2周命题作业

    一.请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 1.依赖倒置原则描述: 1.1. 高...

网友评论

      本文标题:四、依赖倒置(倒转)原则

      本文链接:https://www.haomeiwen.com/subject/sxlazxtx.html