设计模式
Sun April 3, 2022 10:07 AM
七大设计原则
开闭原则(OSP)
单一职责原则
对修改开放,对扩展关闭。
里氏替换原则(LSP)
凡是父类可以出现的地方,子类一定可以出现,且输出一致。反之则不成立。
子类可以实现父类的抽象方法,尽量不要去修改父类的非抽象方法。
子类可以扩展父类方法。
当子类覆盖或实现父类方法时,子类方法的输入参数要比父类方法的输入参数更加宽松,不能相同。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17class Sup {
public doSomething(HashMap<String, String> map) {
System.out.println("父类方法");
}
}
class Sub {
public doSomething(Map<String, String> map) {
System.out.println('子类方法');
}
}
main() {
Sup sup = new Sup();
sup.doSomething(new HashMap<String, String>());
// 把上面的Sup换成Sub,输出不会改变。符合里氏替换原则
}
接口隔离原则(ISP)
依赖倒置原则(DIP)
迪米特原则
合成/聚合复用原则