面对需求的变化,有六大设计原则和23种设计模式来为可预料的变化做准备
六大设计原则
- 单一职责原则(Single Responsibility Principle)
- 开闭原则(Open Closed Principle)
- 里氏替换原则(Liskov Substitution Principle)
- 迪米特法则(Law of Demeter)
- 接口隔离原则(Interface Segregation Principle)
- 依赖倒置原则(Dependence Inversion Principle)
合起来就是SOLID
单一职责原则
- 一个类或接口只承担一个职责
开闭原则
开闭原则
软件实体对扩展开放,对修改关闭
- 用扩展而非修改的方式实现对软件实体的变动
里氏替换原则
- 只要父类能出现的地方,子类就可以出现,并且替换成子类也不会产生错误和异常
注意
- 子类中方法的入参类型必须与父类中被覆写的方法的入参类型相同或更宽松
迪米特法则
最少知道法则
- 一个对象应该对其他对象有最少的了解
一个类和其他类有关联,那么这些类对这个类就是朋友类,要和朋友类尽可能少的联系
- 核心:类间解耦、弱耦合
接口隔离原则
- 不要对外暴露没有实际意义的接口
依赖倒置原则
- 高层模块不应该依赖于低层模块,应该依赖抽象
- 细节依赖抽象