设计模式
1、什么是设计模式
我们程序员在工作中总结出解决问题的思路;
2、为什么学习设计模式
- 提高思维
- 提高效率,程序更加标准化
- 灵活性、可读性、扩展性、提高可维护性
- 更好的阅读源码
3、类与类之间关系
继承关系
实现关系
依赖关系
我们在一个类的方法中操作局部变量使用到另一个类
关联关系
有单向关联、双向关联、自关联;
关联关系根据紧密度我们又可以细分有:聚合关系、组合关系
聚合关系:如学校和老师,学校如果没有老师还是学校、mybatis中使用过的查询;
组合关系:如头和嘴巴,都互相需要对方才可以;
4、面向对象设计原则
单一职责
每个类都负责自己的职责,解耦
开闭原则
对扩展开放,对修改关闭;
里氏替换
可以扩展新方法,但不要重写父类方法;
透明调用,父类被使用的地方,换成子类也应该可以执行,结果不受影响;
依赖倒置
面向接口和抽象类编程,依赖抽象而不依赖细节;
接口隔离
使用多个接口,而非必须只是用单一接口,不必实现自己不需要的方法;
迪米特原则
一个对象对其他对象应该有最小的了解;
可以调用其他对象的公共暴露方法,而非调用对象的属性及一些细节处理;
组合聚合复用
需要复用方法时,通过依赖、关联来扩展,而不必继承;
继承的耦合度很高;