oop - 什么是依赖倒置原则,为什么它很重要?

标签 oop solid-principles glossary principles dependency-inversion

什么是依赖倒置原则,为什么它很重要?

最佳答案

查看此文档:The Dependency Inversion Principle .

它基本上说:

  • 高级模块不应依赖于低级模块。两者都应该依赖于抽象。
  • 抽象永远不应该依赖于细节。细节应该取决于抽象。

  • 至于为什么它很重要,简而言之:更改是有风险的,并且通过依赖于概念而不是实现,您可以减少调用站点的更改需求。

    有效地,DIP 减少了不同代码段之间的耦合。这个想法是,虽然有很多方法可以实现,比如一个日志工具,但你使用它的方式应该在时间上是相对稳定的。如果您可以提取一个表示日志记录概念的接口(interface),则该接口(interface)在时间上应该比其实现更稳定,并且调用站点应该受到您在维护或扩展该日志记录机制时所做的更改的影响要小得多。

    通过使实现也依赖于接口(interface),您可以在运行时选择更适合您的特定环境的实现。根据具体情况,这也可能很有趣。

    关于oop - 什么是依赖倒置原则,为什么它很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62539/

    相关文章:

    c# - 在使用对象时从一种实现类型转换为另一种实现类型是否合适?

    c# - 解耦依赖于构造函数接受参数的另一个类的类

    language-agnostic - 是什么让语言面向对象?

    javascript - 突出显示 HTML 文档中的术语表术语

    c# - "literal"这个词是什么意思?

    oop - 为什么二传手在接口(interface)中不好?

    Javascript Freecodecamp "Do not use a Boolean as a Constructor"

    c++ - 在创建派生类对象时将参数传递给基类构造函数

    php - 避免违反LSP

    php - 何时实现和扩展?