第十二章:面向对象的 SOLID 原则

SOLID 原则

  • SRP:Single Responsibility Principle,单一职责原则
  • OCP:Open Close Principle,开闭原则
  • LSP:Liskov Substitution Principle,里氏替换原则
  • ISP:Interface Segregation Principle,接口隔离原则
  • DIP:Dependency Inversion Principle,依赖倒置原则

SRP:单一职责原则

  • 每个类应该有且只有一个原因引起其变更
  • 类和模块应该专注单一职责
  • 如果类的描述中存在 “和” 这样的字眼,可能此时你就违反了单一职责原则

OCR:开闭原则

  • 类应该对扩展开放,对修改关闭
  • 通过创建子类来拓展代码就是一个很好的例子

LSP:里氏替换原则

  • 父类对象能出现的地方,子类对象就应该可以出现,而且不会引起什么错误
  • 当看到一个构造函数调用另一个构造函数时,就要当心违反里氏替换原则

ISP:接口隔离原则

  • 很多小的接口要比一个大而全的接口要好

DIP:依赖倒置原则

  • 我们应该面向接口编程。高层和底层模块都应该依赖接口抽象
  • 创建对象的时机越往后越好,类之间的依赖和耦合就越小

参考文章