Skip to content

Latest commit

 

History

History
24 lines (21 loc) · 1018 Bytes

常见的面向对象设计原则.md

File metadata and controls

24 lines (21 loc) · 1018 Bytes

#常见的面向对象设计原则

  1. 单一职责原则 SRP 一个类应该仅有一个引起它变化的原因。
  2. 开放关闭原则 OCP 一个类应该对外扩展开放,对修改关闭。
  3. 里氏替换原则 LSP 子类型能够替换掉它们的父类型。
  4. 依赖倒置原则 DIP 要依赖于抽象,不要依赖于具体类,要做到依赖倒置,应该做到:
    • 高层模块不应该依赖底层模块,二者都应该依赖于抽象。
    • 抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
  5. 接口隔离原则 ISP 不应该强迫客户依赖于他们不用的方法。
  6. 最少知识原则 LKP 只和你的朋友谈话。
  7. 其他原则
    • 面向接口编程
    • 优先使用组合,而非继承
    • 一个类需要的数据应该隐藏在类的内部
    • 类之间应该零耦合,或者只有传导耦合,换句话说,类之间要么没关系,要么只使用另一个类的接口提供的操作
    • 在水平方向上尽可能统一地分布系统功能