• 3、面向对象的设计模式之依赖倒置原则


    依赖倒置原则(Dependency Inversion Priniciple,()DIP)(也叫依赖倒转原则)的定义:

     高层模块不要应该依赖低层模块,他们都应该依赖抽象,抽象(接口和抽象类)不应该依赖于细节,细节(具体实现的类)应该依赖于抽象。意为要针对接口编程不要针对对象编程。

      另一种描述为要针对接口编程,不要针对实现编程

      英文:Program to an interface,not an implementation。

    依赖倒置原则的中心思想是面向接口编程

    面向过程开发时,为了使代码可以复用,一般都会把常用代码写成许多函数的程序库,做新项目时,调用这些低层的函数即可,比如做大项目大多要访问数据库,所以我们把访问数据库的代码写成函数,每次做新项目时就去调用这些函数,这叫高层模块依赖于低层模块。游戏引擎的使用即是如此。

    依赖倒置原则基于这样一个事实:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建起来的架构比以细节为基础搭建起来的架1构要稳定的多。

    实现开闭原则的关键是抽象化,并且从抽象化导出具体化实现,如果说开闭原则是面向对象的设计的目标的话,那么依赖倒转原则就是面向对象设计的主要手段。

    为什么依赖了抽象的接口或抽象类就不怕更改呢?这就是里氏替换原则要解决的问题。

    类之间的耦合分类:

      零耦合关系

      具体耦合关系

      抽象耦合关系

    依赖倒转原则要求要求客户端依赖于抽象耦合,以抽象方式耦合是依赖倒转原则的关键。

      

    • 添加到短语集
       
      • 没有此单词集: -> ...
         
      • 创建新的单词集...
    • 拷贝
    • 添加到短语集
       
      • 没有此单词集: -> ...
         
      • 创建新的单词集...
    • 拷贝
  • 相关阅读:
    为什么obj不等于obj?
    前端基础:深入理解内存空间
    微信小程序之富文本解析
    微信小程序加载更多 点击查看更多
    目前为止最全的微信小程序项目实例
    小程序图文列表一行俩列
    关于小程序 scroll-view 左右横向滑动没有效果(无法滑动)问题
    微信小程序商品筛选,侧方弹出动画选择页面
    小程序-带参跳转页面
    css-background-image 背景图片太大或太小
  • 原文地址:https://www.cnblogs.com/sy-liu/p/12905488.html
Copyright © 2020-2023  润新知