知识卡片
依赖倒置原则的三层含义与Java体现
内容
依赖倒置原则(DIP)包含三层含义:高层模块不应依赖低层模块,两者都应依赖抽象;抽象不应 依赖细节;细节应依赖抽象。Java中抽象对应接口/抽象类,细节对应实现类;落地要求依赖通过 接口发生,实现类之间不直接依赖,精简说法就是”面向接口编程”。发散:DIP的”倒置”不是反 直觉技巧,只是把依赖方向从”依赖低层实现”改为”都依赖同一个抽象”。
参考来源
- 位置:《设计模式之禅(第2版)》第3章《依赖倒置原则》(源文件:_epub-src/text/part0011.html)
- 结论依据:原文给出DIP的英文原始定义并翻译为三层含义,随后结合Java的接口/抽象类vs实现类的区别,说明依赖关系应该"通过抽象发生",最终归纳为"面向接口编程"这一精简表述。
- 原始内容:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象……更加精简的定义就是"面向接口编程"——OOD的精髓之一。