zoukankan      html  css  js  c++  java
  • 依赖倒置原则

    依赖倒置原则(Dependence Inversion Principle),简称DIP

    定义

    High level modules should depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.

    1、高层模块不应该依赖低层模块,两者都应该依赖于抽象(抽象类或接口)

    2、抽象(抽象类或接口)不应该依赖于细节(具体实现类)

    3、细节(具体实现类)应该依赖抽象

    抽象:即抽象类或接口,两者是不能够实例化的。

    细节:即具体的实现类,实现接口或者继承抽象类所产生的类,两者可以通过关键字new直接被实例化。

    而依赖倒置原则的本质骑士就是通过抽象(抽象类或接口)使各个类或模块的实现彼此独立,不相互影响,实现模块间的松耦合。但是这个原则也是6个设计原则中最难以实现的了,如果没有实现这个原则,那么也就意味着开闭原则(对扩展开发,对修改关闭)也无法实现。

    依赖倒置有三种方式来实现

    1、通过构造函数传递依赖对象

    比如在构造函数中的需要传递的参数是抽象类或接口的方式实现。

    2、通过setter方法传递依赖对象

    即在我们设置的setXXX方法中的参数为抽象类或接口,来实现传递依赖对象

    3、接口声明实现依赖对象

    例如下面的例子

  • 相关阅读:
    八个方便C#开发的省时的国外工具
    从babel-polyfill的一个坑而起
    Universal Link
    微信机器人
    微信手记
    Elasticsearch手记
    小游戏引擎手记
    【数学基础】3D数学基础-左右手坐标系
    【linux基础】linux误改sudoers权限之后的恢复及配置sudoers
    【c/c++基础】struct/typedef struct的用法详解总结
  • 原文地址:https://www.cnblogs.com/Cmpl/p/2573305.html
Copyright © 2011-2022 走看看