gpt4 book ai didi

dependency-injection - 抽象不应依赖于细节。细节应该取决于抽象吗?

转载 作者:行者123 更新时间:2023-12-03 10:36:21 24 4
gpt4 key购买 nike

在过去的几天里,我阅读了很多关于依赖注入(inject)/控制反转/依赖反转的内容。我 那,现在我对这个概念的理解要好得多。但我仍然没有从维基百科得到以下信息:

A. High-level modules should not depend on low-level modules. Both should depend on abstractions. B. Abstractions should not depend upon details. Details should depend upon abstractions.



我理解高级模块的部分不应该
依赖于低级模块。但是,我对抽象和细节感到困惑。有人可以为我简化它们。谢谢。

最佳答案

这意味着如果细节发生变化,它们不应该影响抽象。抽象是客户查看对象的方式。对象内部究竟发生了什么并不重要。让我们以汽车为例,踏板、方向盘和变速杆是发动机内部发生的事情的抽象。他们不依赖于细节,因为如果有人将我的旧引擎换成新引擎,我应该仍然可以在不知道引擎改变的情况下驾驶汽车。

另一方面,细节必须符合抽象所说的。我不想实现一个突然导致刹车使汽车速度加倍的发动机。我可以以任何我想要的方式重新实现刹车,只要它们在外部表现相同。

关于dependency-injection - 抽象不应依赖于细节。细节应该取决于抽象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1710005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com