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:依赖倒置原则
- 我们应该面向接口编程。高层和底层模块都应该依赖接口抽象
- 创建对象的时机越往后越好,类之间的依赖和耦合就越小