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

面向对象设计原则四:依赖倒置原则

时间:2017-08-12 22:34:06      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:变量   父类   应该   抽象   依赖关系   可扩展   变化   实现   方法   

依赖倒置原则(DIP)
        定义:高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
   好处:稳定性、可维护性、可扩展性。
  概述:DI就是依赖倒置的意思,也可称为控制反转,我们以前编写结构化的程序当中,也就是C语言这样的语言时,高层模块依赖于底层模块,也就是调用者和被调用者的关系,调用者要依赖于被调用者,被调用者编写的一些功能和服务,会影响高层,一旦底层发生了变化,也就是被调用者发生了变化,就直接影响了高层也就是调用者。这样的设计,很难保证他的稳定性,经常会发生变化,代码维护起来也非常的困难。
但是在面向对象的设计中,这种设计应该反过来,底层和高层不应该有这样的依赖关系,高层不应该依赖于底层,底层也不应该依赖于高层。底层和高层都应该依赖于抽象类或接口,底层变化,不影响高层。依赖倒置原则:本质上是在要求我们“面向接口编程”,它要求每个类尽量都来自接口或抽象类,变量定义尽量使用抽象类或接口,不要使用具体类,这样便于扩展,尽量不要覆盖父类已经实现好的方法。接口负责公共方法的声明,抽象类负责公共方法实现的定义。
  开闭原则和依赖倒置原则是目标和手段的关系。开闭是目标,可以通过依赖倒置来实现对功能扩展开放,对修改关闭。
  因为依赖倒置原则和开闭原则是手段和目标的关系,也就是依赖倒置原则的好处和开闭原则的好处基本上是一致的,它的好处就是可以减少类之间的耦合度,进一步提高系统的稳定性、可维护性和可扩展性,只不过依赖倒置原则建议尽量使用抽象类和接口,而开闭原则突出的是使用了抽象类和接口之后的效果!

面向对象设计原则四:依赖倒置原则

标签:变量   父类   应该   抽象   依赖关系   可扩展   变化   实现   方法   

原文地址:http://www.cnblogs.com/dotnet261010/p/7351484.html

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