zoukankan      html  css  js  c++  java
  • 转依赖倒置原则(DIP)

    依赖倒置原则(DIP)

    依赖倒置(Dependence Inversion Principle)原则讲的是:要依赖于抽象,不要依赖于具体。

    简单的说,依赖倒置原则要求客户端依赖于抽象耦合。原则表述:

    抽象不应当依赖于细节;细节应当依赖于抽象;
    要针对接口编程,不针对实现编程。

    反面例子:

     

    缺点:耦合太紧密,Light发生变化将影响ToggleSwitch。

    解决办法一:
    将Light作成Abstract,然后具体类继承自Light。

     

    优点:ToggleSwitch依赖于抽象类Light,具有更高的稳定性,而BulbLight与TubeLight继承自Light,可以根据"开放-封闭"原则进行扩展。只要Light不发生变化,BulbLight与TubeLight的变化就不会波及ToggleSwitch。

    缺点:如果用ToggleSwitch控制一台电视就很困难了。总不能让TV继承自Light吧。

    解决方法二:
     

    优点:更为通用、更为稳定。

    结论:
    使用传统过程化程序设计所创建的依赖关系,策略依赖于细节,这是糟糕的,因为策略受到细节改变的影响。依赖倒置原则使细节和策略都依赖于抽象,抽象的稳定性决定了系统的稳定性。


                                                                                                                                                               原文作者 吕震宇 

  • 相关阅读:
    iOS 获取手机当前所连接的网络的IP地址
    np.delete详解
    np.concatenate函数
    说说如何在 Python 中使用日志
    Python os.getcwd() 方法
    python的构造函数
    python引入自己写的Py文件
    VS CODE编译Python输出中文乱码
    VScode中pytorch出现Module 'torch' has no 'xx' member错误
    matlab处理hd5高维数据
  • 原文地址:https://www.cnblogs.com/EasyLive2006/p/657229.html
Copyright © 2011-2022 走看看