依赖倒置原则(DIP)

来源:互联网 发布:淘宝法院拍卖房产网站 编辑:程序博客网 时间:2024/05/16 17:28

依赖倒置原则(DIP)

a.高层模块不应该依赖于底层模块。二者都应该依赖于抽象。

b.抽象不应该依赖于细节。细节应该依赖于抽象。


使用传统的过程化程序设计所创建出来的依赖关系结构,策略是依赖于细节的。这是糟糕的,因为这样会是策略受到细节改变的影响。面向对象的程序设计倒置了依赖关系结

构,使得细节和策略都依赖于抽象,并且常常是客户拥有服务接口。

请考虑一下当高层模块依赖于低层模块是意味着什么。高层模块包含了一个应用程序中的重要的策略选择和业务模型。正是这些高层模块才使得其所在的应用程序区别于其

他。然而,如果这些高层模块依赖于低层模块,那么对低层模块的改动将会直接影响到高层模块,从而迫使它们依次做出改动。这是非常荒谬的!

如果高层模块独立于低层模块,那么高层模块将很容易被重用。依赖倒置原则是框架设计的核心原则。

依赖倒置原则是实现许多面向对象技术所宣称的好处的基本低层机制。它的正确应用对于创建可重用的框架来说是必须的。同事它对于构建在变化面前附有弹性的代码也是非

常重要的。由于抽象和细节被彼此隔离,所以代码也非常容易维护。