首页 > 其他分享 >依赖倒置原则DIP

依赖倒置原则DIP

时间:2023-08-04 10:34:45浏览次数:35  
标签:依赖 高层 依赖于 模块 倒置 应该 DIP 底层

所谓依赖倒置原则,指的是,要依赖于抽象,不要依赖于具体类。要做到依赖倒置,典型的应该做到:

高层模块不应该依赖于底层模块,二者都应该依赖于抽象。

抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

事实上,一般高层模块包含对业务功能的处理和业务策略选择,应该被重用,是高层模块去影响底层的具体实现。

因此,这个底层的接口应该是由高层提出的,然后由底层实现的。也就是底层的接口的所有权在高层模块,因此是一种所有权的倒置。

倒置接口所有权,这就是著名的好莱坞原则:不要找我们,我们会联系你。

标签:依赖,高层,依赖于,模块,倒置,应该,DIP,底层
From: https://blog.51cto.com/u_11315052/6957678

相关文章

  • dubbo依赖
    springboot整合dubbo引入依赖(导入的2.6.2版本)<dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.0</version></dependency> spring+xml配置整合dubb......
  • 高质量代码究竟依赖设计还是重构而来?
    点击链接了解详情导读一个有所追求的程序员一定都希望自己能够写出高质量的代码,但高质量代码从何而来呢?有人认为是设计出来的,就像一栋稳固的大厦,如果没有前期优秀的设计那么肯定难逃豆腐渣工程的命运;也有人认为是重构出来的,软件的一个基本特性就是易变,随着时间的推移软件会不......
  • AMEYA360:尼得科科宝旋转型DIP开关系列
       旋转型DIP开关S-4000电路:BCD(十进制)代码格式:实码安装类型:表面贴装调整位置:顶部可水洗:无端子类型:J引线,鸥翼型旋转型DIP开关SA-7000电路:BCD(十进制),BCH(十六进制)代码格式:实码/补码安装类型:表面贴装调整位置:顶部/......
  • 软件开发 --- maven依赖到底是啥
    比如springboot中的pom.xml有这个依赖<!--阿里数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid.version}</version></dependency>其实最终访问的就是这个链接,去......
  • JavaScript中介者模式:解耦组件之间的依赖关系
    JavaScript中介者模式在前端开发中,组件之间的依赖关系往往会导致代码的复杂性和可维护性降低。为了解决这个问题,我们可以使用中介者模式来解耦组件之间的依赖关系。本文将介绍JavaScript中介者模式的概念和使用方法,并通过一个实例来说明其应用。什么是中介者模式?中介者模式是一......
  • 依赖注入(DI)、控制反转(IOC)、反射的区别和联系?
    实现IOC控制反转的技术叫做反射。而反射通俗的说,反射就是根据给出的类名(字符串)来生成对象。这种编程方式可以让应用在运行时才动态决定生成哪一种对象。反射的应用是很广泛的,像Hibernate、Spring中都是用“反射”做为最基本的技术手段。其实可以把IoC模式看作工厂模式的升华,把IoC......
  • vue中使用provide和inject依赖注入组件之间进行父子组件传值(也适用于嵌套路由)
      父组件中:provide:function(){return{reload:this.reload//父组件中的方法}}子组件中:inject:['reload']使用:this.reload()//也可传入参数......
  • 国产麒麟OS及CPU杀入光伏电站“大脑”:稳定可靠 减少进口依赖
    导读近日消息,随着国产OS系统及CPU的飞速发展,越来越多的系统都用上国产替代,现在光伏电站的“大脑”——光伏监控系统也用上了国产的麒麟OS及飞腾CPU,运行稳定可靠。据麒麟软件消息,近期中国华能基于银河麒麟操作系统研发的国内首套全国产光伏监控系统——华能睿渥S316在华能......
  • Android解耦(四)基于依赖注入的解耦
    安卓开发中基于依赖注入(DI)的模块解耦1.什么是依赖注入(DI)依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,简称IoC)。控制反转是指将对象之间的依赖关系由程序代码中定义转移到外部容器中管理,从而降低对象之间的耦合度,提高代码的可维护性和......
  • AMEYA:尼得科科宝滑动型DIP开关CVS产品参数及价格​
    日本电产尼得科科宝滑动型DIP开关CVS采用紧凑设计,3bit产品,旋钮把手高度为0.2mm,操作性良好端子为1mm间距,电路数丰富(2,3,4,8)端接样式为鸥翼式,J形引线使用树脂材料符合UL认证94V-0符合RoHS规范。日本电产尼得科科宝滑动型DIP开关CVS的特点:端子间距1mm超薄设计,板上方高度1.45......