知识卡片

依赖倒置的五条落地规则

普通读书笔记卡 · 1970.f.1.d

内容

落地[[依赖倒置原则的三层含义与Java体现]]的五条参考规则(非教条):①类尽量都有接口/抽象 类;②变量表面类型尽量是接口/抽象类(工具类可例外);③不应从具体类派生(维护期浅层继承 可接受);④尽量不覆写基类已实现方法;⑤接口负责声明依赖和public方法、抽象类负责公共实现、 实现类负责具体业务。发散:每条都标注了例外,说明原则是判断力工具而非机械检查表。

参考来源

- 位置:《设计模式之禅(第2版)》第3章《依赖倒置原则》(源文件:_epub-src/text/part0014.html) - 结论依据:原文逐条列出五项规则并各自附带适用边界说明(如工具类可不用接口、维护期继承两层可接受),说明这些规则是指导性而非绝对化的实践建议。 - 原始内容:每个类尽量都有接口或抽象类,或者抽象类和接口两者都具备……任何类都不应该从具体类派生……如果一个项目处于开发状态,确实不应该有从具体类派生出子类的情况,但这也不是绝对的……只要不超过两层的继承都是可以忍受的。