美文网首页
面向对象设计原则---DIP

面向对象设计原则---DIP

作者: Wu杰语 | 来源:发表于2020-11-17 19:55 被阅读0次
Dependency Inversion Principle
High-level modules shouldn’t depend on low-level modules. 
Both modules should depend on abstractions. 
In addition, abstractions shouldn’t depend on details. 
Details depend on abstractions.

依赖倒置英文如上,高层次的模块不应当依赖于低层次的模块,它们都应当依赖于抽象。抽象不应当依赖于实现,实现应当依赖于抽象。

依赖分析

这个设计原则在模块设计中非常有用,我们分析一下其中的原理。



如果高层模块直接依赖于底层模块,那么当底层模块发生变化时,高层模块也需要紧跟修改。

而使用DIP原则,则:


image.png

高层模块通过注入使用接口,而底层模块使用接口,当底层模块变化时,高层和底层模块相对互相独立。并且可以随时替换新的底层模块。

DIP的实际应用

例如说我们的tomcat容器,tomcat和应用的关系,不是依赖关系,它们都依赖于sevelet规范这个抽象。

例如RPC协议,底 层协议模块依赖于接口,高层模块也依赖于接口,底层协议可以设计为TCP协议,也可以设计为UDP协议,根据使用场景高层模块选择不用的协议模块使用。

相关文章

  • C++设计模式 Week1 (Boolan) by Im4lis

    1-设计模式简介2-面向对象设计原则面向对象设计的八大原则:1、依赖倒置原则(DIP):稳定的部分不应该依赖于变化...

  • 面向对象设计原则---DIP

    依赖倒置英文如上,高层次的模块不应当依赖于低层次的模块,它们都应当依赖于抽象。抽象不应当依赖于实现,实现应当依赖于...

  • 博览网--设计模式(一)

    一、软件的设计目标 复用 二、面向对象设计原则 1 依赖导致原则(DIP): 高层模块不依赖于底层模...

  • 极客班第8周“设计模式1”笔记

    推荐书藉 面向对象设计原则(8个原则) 1.依赖倒置原则(DIP) �高层模块(稳定)不应该依赖于低层模块(变化)...

  • 设计模式 第一周 博览网

    面向对象设计的原则 衡量一个设计模式成功与否的关键1.依赖倒置原则(DIP) 高层模块(稳定)不应该依赖于低层模块...

  • 依赖反转(依赖倒置)原则之“反转(倒置)”

    依赖反转(倒置)原则(Dependency inversion principle,DIP)是面向对象编程6大原则...

  • ASP.NET Core 依赖关系注入(服务)

    1.前言 面向对象设计(OOD)里有一个重要的思想就是依赖倒置原则(DIP),并由该原则牵引出依赖注入(DI)、控...

  • 面向对象设计原则

    面向对象设计原则 面向对象设计原则是设计模式的基础,每个设计模式都符合一一种或多种面向对象的设计原则。 常用的面向...

  • 面向对象设计原则

    面向对象设计原则 依赖倒置原则(DIP) 高层模块(稳定)不应该依赖于底层模块(变化),二者都应该依赖于抽象(稳定...

  • 面向对象设计原则(二)开闭原则

    面向对象设计原则之开闭原则 开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。 开闭原则的...

网友评论

      本文标题:面向对象设计原则---DIP

      本文链接:https://www.haomeiwen.com/subject/psdfiktx.html