码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-05-17 16:11:20      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:依赖倒转原则   并且   contex   row   trigger   sub   ini   没有   模块   

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

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

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

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

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

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

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

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

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

类之间的耦合分类:

  零耦合关系

  具体耦合关系

  抽象耦合关系

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

 

 

 

  

 

 

 

  • 添加到短语集
     
    • 没有此单词集: -> ...
       
    • 创建新的单词集...
  • 拷贝
  • 添加到短语集
     
    • 没有此单词集: -> ...
       
    • 创建新的单词集...
  • 拷贝

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

标签:依赖倒转原则   并且   contex   row   trigger   sub   ini   没有   模块   

原文地址:https://www.cnblogs.com/sy-liu/p/12905488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!