面向对象的六大原则
指导思想
- 可维护性Maintainability [改动时,需要改动的地方越少,可维护性就越好]
- 可复用性Reusability [代码以后可以被重复使用;写出自己总结的类库]
- 可扩展性Extensibility / Scalability [添加功能无需修改原来的代码]
- 灵活性Flexibility / mobility / adaptebility
单一职责原理 SRP
Single Responsibility Principle
- 一个类别太大,别太累,只负责单一的职责
- 高内聚,低耦合
开闭原则 OCP
Open-Closed Principle
- 对扩展开放,对修改关闭(尽量不修改原来代码的情况下进行扩展)
- 抽象化,多态是开闭原则的关键
里氏替换原则 LSP
Liscov Substitution Principle
- 所有使用父类的地方,必须能够透明的使用子类对象
依赖倒置原则 DIP
Dependency Inversion Principle
- 依赖抽象,而不是依赖具体
- 面向对象编程
接口隔离原则 ISP
Interface Segregation Principle
- 每一个接口应该仓单独立的角色,不干不该
迪米特原则 LOD
Law of Demeter
- 尽量不要和陌生人说话
- 和其他类的耦合度降低