设计原则
单一职责原则(SRP:Single Responsibility Principle)
- 当设计封装一个类时,该类应该只负责一件事。
开闭原则(OCP: Open-Closed Principle)
- 对扩展开放、对修改关闭。
- 对于已经完成测试上线运行的功能,
- 应该不能再修改这个累的任何接口和实现内容。
- 新增需求就要朝向“功能接口化”设计,将功能操作抽象为接口,功能实现下移到子类。
里氏替换原则(LSP: Liskov Substitution Principle)
- 子类必须能够替换父类。
- 客户端使用时,应该不知道目前对象是哪一个子类实现的。由类本身对象产生机制决定。
依赖倒置原则(DIP: Dependence Inversion Principle)
- 高层模块不依赖于低层模块,两者都应该依赖于抽象概念
- 抽象接口不应该依赖于实现,实现应该依赖于抽象接口
- 例如USB接口规范。
接口隔离原则(ISP: Interface Segregation Principle)
- 客户端不应该被迫使用它们用不到的接口方法。
- 通过“功能的切分”和“接口的简化”可以减少这类问题的发生。
最少知识原则(LKP: Least Knowledge Principle)
- 类应该越少使用到其他类提供的功能越好。