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、接口声明实现依赖对象

    例如下面的例子

  • 相关阅读:
    CAS 之 集成RESTful API
    RSA客户端js加密服务器C#解密(含源码)
    Java实现文件的RSA和DES加密算法
    对称加密DES和TripleDES
    VCL消息处理机制
    10款你应该了解的开源安全工具
    一个登陆框引起的血案
    npm install -S -D -g 有什么区别
    共享软件中恶意代码插入技术研究
    GyoiThon:基于机器学习的渗透测试工具
  • 原文地址:https://www.cnblogs.com/Cmpl/p/2573305.html
Copyright © 2011-2022 走看看