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吧。

    解决方法二:
     

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

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


                                                                                                                                                               原文作者 吕震宇 

  • 相关阅读:
    asp.net 读取Excel文档
    ASP.NET实现IE下禁用浏览器后退按钮办法
    asp.net 追加文本(追加写入记事本)
    Sql Server中charindex、patindex的区别
    css3 简单动画
    ie6下兼容问题
    IE6下 input 背景图滚动问题及标签规范
    css2---必须学的经典---定位问题
    EF 用CallContext上下文管理
    EF查询分页
  • 原文地址:https://www.cnblogs.com/EasyLive2006/p/657229.html
Copyright © 2011-2022 走看看