依赖倒置原则:

包含三层含义:

  1. 高层模块不应该依赖低层模块,二者应该依赖抽象

  2. 抽象不应该依赖细节

  3. 细节应该依赖抽象

再精简些就是:其核心是面向接口编程

抽象:即抽象类和接口,抽象是对实现的约束,对依赖而言也是一种契约

细节:即具体的实现类,实现接口或继承抽象类所产生的类

依赖倒置就是通过抽象使各个类或模块间实现彼此独立,互不影响,实现模块间的松耦合。

依赖的三种实现方式:

  1. 构造函数注入

  2. Setter依赖注入

  3. 接口注入

转载于:https://blog.51cto.com/literarydrandon/1420979

6大设计原则之依赖倒置原则相关推荐

  1. 7.12 其他面向对象设计原则3: 依赖倒置原则DIP

    其他面向对象设计原则3: 依赖倒置原则DIP  The Dependency Inversion Principle 7.1 依赖倒置原则DIP The Dependency Inversion P ...

  2. 设计原则 单一职责原则、开放封闭原则、依赖倒置原则、里氏代换原则、迪米特法则

    目录 1 单一职责原则 2 开放封闭原则 3 依赖倒置原则 4 里氏代换原则 5 迪米特法则 1 单一职责原则 比如:电脑内存坏了就应该更换内存,不应该更换CPU (内存负责内存.CPU负责CPU) ...

  3. 软件设计原则之里氏替换原则、依赖倒置原则

    系列文章目录 软件设计原则之单一职责原则.开闭原则 软件设计原则之里氏替换原则.依赖倒置原则 软件设计原则之接口隔离原则.合成复用原则.迪米特原则 文章目录 系列文章目录 一.里氏替换原则 什么是里氏 ...

  4. 面向对象设计原则-03依赖倒置原则

    面向对象设计原则-03依赖倒置原则 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,DIP)是 Object Mentor 公司总裁罗伯特·马丁(Rob ...

  5. 设计模式六大原则之--依赖倒置原则(DIP)

    1. 依赖倒置原则,(Dependence Inversion Principle, DIP ) 定义:High level modules should not depend upon low le ...

  6. 3.六大原则例子-- 依赖倒置原则(DIP)例子

    设计模式六大原则例子-- 依赖倒置原则(DIP)例子 之前我们对设计模式的六大原则做了简单归纳,这篇博客是对依赖倒置原则进行的举例说明. 依赖倒置原则的意义 DIP是6大原则中最难以实现的原则,它是实 ...

  7. 设计模式六大原则之里氏替换原则、依赖倒置原则详解

    设计模式六大原则--里氏替换原则.依赖倒置原则详解 1.里氏代换原则(Liskov Substitution Principle) 概念 顾名思义,该原则用于经常发生替换的地方,在Java中指的是实现 ...

  8. 【软件架构设计原则】开闭原则和依赖倒置原则

    文章目录 软件架构设计原则 开闭原则 依赖倒置原则 最后 软件架构设计原则 本文通过实例来讲解 开闭原则 依赖导致原则 开闭原则 开闭原则(Open-Close Principle,OCP)是指一个软 ...

  9. 六大设计原则之依赖倒置原则07

    目录 1.概述 2.业务场景 3.运用设计原则前代码实现 3.1.代码实现 3.2.总结 4.运用设计原则后代码实现 4.1.代码实现 4.2.总结 1.概述 依赖倒置原则(Dependence In ...

最新文章

  1. pandas.dataframe用法总结 何时返回dataframe 何时返回series
  2. 网络营销外包——网络营销外包专员是怎样提升网站收录概率的?
  3. Python 学习笔记(1)Hello Python
  4. Xposed框架实战
  5. [CF1082G]Petya and Graph
  6. 移动CMPP2.0封装
  7. TN3399开发板折腾记录
  8. IT人才薪水“虚高” ,寡头垄断下小企业工程师告急[转]
  9. 【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染
  10. 树莓派raspi-config配置工具
  11. vue里面watch监听当前路由信息
  12. 北京各大医院专长(转)
  13. pygraphviz win7安装报错解决
  14. 小程序使用云开发,拍照获取银行卡卡号
  15. Python中plot() 淘宝历史价格,js chrome 插件
  16. 08 基础代谢率计算
  17. Local Light Field Fusion CVPR 2019
  18. 超平面、Wx=b或Wx+b=0的几何意义
  19. java itext html_Java基于Itext7实现Html转PDF的方法,解决老版本缺陷。
  20. 仿直播间玩色子游戏,AnimatorSet的综合使用

热门文章

  1. Google Capture The Flag 2018 (Quals) - Beginner's Quest - Reverse - Firmware
  2. xftp permission is not allowed
  3. BZOJ1457 棋盘游戏
  4. iOS将产品进行多语言发布,开发
  5. 软件工程——理论、方法与实践 第六章
  6. ubuntu9.10回收站目录
  7. How to install OpenCV 3.x in Linux
  8. 京东数据驱动下的个性化推荐
  9. Android应用程序目录结构框架搭建
  10. C++设计模式——适配器模式(对象适配器、类适配器)