java 设计原则
设计思想
- 可维护性 Maintainability
修改功能,需要改动的地方越少,可维护性越好 - 可复用性 Reusability
代码可重复使用率高(工具类) - 可扩展性 Extensibility 、Scalability
添加功能无需修改原来代码 - 灵活性 flexibility、mobility、adaptability
代码接口可灵活调用
基于以上设计思想 诞生常用的设计原则
单一职责原则
- Single Responsibility Principle
- 一个类别太大,负责单一的职责
- 高内聚、低耦合
例如 : Person 类只负责 基本属性(不负责 人员管理)
PersonManager 负责 Person 管理
开闭原则
- Open-Closed Principle
- 对扩展开放,对修改关闭(尽量不修改原来代码的情况下进行扩展)
- 抽象化、多态是开闭原则的关键
例如 : 需要添加新功能的时候,扩展子类 添加
里氏替换原则
- Liscov Substitution Principle
- 所有使用父类的地方,必须能够透明的使用子类对象
说明 : 所有使用父类的地方,都能够使用子类,其他代码不变(子类能够完全替代父类)
依赖倒置原则
- Dependency Inversion Principle
- 依赖抽象,而不是依赖具体实现
- 面向接口编程
例如 : 方法 A 调用 接口 B 中 b方法,b方法的实现随便变,不影响A的调用
接口隔离原则
- Interface Segregation Principle
- 每一个接口承担独立的角色,不干自己不该干的事情
- 避免子类实现不需要实现的方法
- 需要对客户提供接口的时候只需要暴露最少的接口
例如: fly(),run() 两个方法 就应该分开两个接口
interface Flyable{
void fly();
}
interface Runable{
void run();
}