首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是依赖倒置原则?为什么它很重要?

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

Stack Overflow用户
提问于 2008-09-15 20:53:20
回答 6查看 81.7K关注 0票数 201

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

EN

回答 6

Stack Overflow用户

发布于 2015-07-10 00:49:17

基本上它是这样说的:

类应该依赖于抽象(例如接口、抽象类),而不是具体的细节(实现)。

票数 9
EN

Stack Overflow用户

发布于 2009-01-20 20:06:37

这里的其他人已经给出了好的答案和好的例子。

DIP之所以重要,是因为它确保了OO原则“松散耦合设计”。

你的软件中的对象不应该进入一个层次结构,其中一些对象是顶层对象,依赖于低级对象。低级对象中的更改将波及到您的顶层对象,这使得软件对于更改非常脆弱。

您希望您的“顶级”对象非常稳定,并且不容易发生变化,因此您需要颠倒依赖关系。

票数 6
EN

Stack Overflow用户

发布于 2008-09-15 12:59:57

依赖反转的目的是为了使软件可重用。

其思想是,它们依赖于一些抽象的接口,而不是相互依赖的两段代码。然后,您可以在没有其他组件的情况下重用这两个组件。

最常见的实现方式是通过控制反转(IoC)容器,比如Java中的Spring。在这个模型中,对象的属性是通过XML配置来设置的,而不是让对象去寻找它们的依赖关系。

想象一下这个伪代码。

public class MyClass
{
  public Service myService = ServiceLocator.service;
}

MyClass直接依赖于Service类和ServiceLocator类。如果你想在另一个应用程序中使用它,它需要这两者。现在想象一下..。

public class MyClass
{
  public IService myService;
}

现在,MyClass依赖于单个接口,即IService接口。我们让IoC容器实际设置该变量的值。

因此,现在,MyClass可以很容易地在其他项目中重用,而不会带来其他两个类的依赖。

更好的是,您不必拖动MyService的依赖关系,以及这些依赖关系的依赖关系,并且...好吧,你明白我的意思了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档