“依赖倒置原则”(DIP)和“接口设计原则”是否表达了相同的原则?如果不是,会有什么区别?
EDIT
为了澄清并缩小上下文范围:我所说的接口是指编程接口,例如 Javainterface
或 C++ 中的纯抽象基类。不涉及其他“合同”。
我只是想参与并引用德里克·格里尔的话另一个与此非常相似的问题 https://stackoverflow.com/questions/62539/what-is-the-dependency-inversion-principle-and-why-is-it-important,因为在我看来,它确实很好地回答了这个问题。
“依赖倒置原则没有指的是通过使用接口(例如,接口)抽象依赖关系的简单实践。MyService → [ILogger ⇐ Logger]
)."
虽然这将组件与依赖项的特定实现细节解耦,但它并没有颠倒消费者和依赖项之间的关系(例如,[MyService → IMyServiceLogger] ⇐ Logger
)."
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)