首先搞懂:何为设计模式?
就是被反复使用,反复改进优化的一套经验。使用设计模式不仅有利于开发者在开发时思路更清晰,开发更高效,也让代码更容易被看懂。
进入正题:设计模式分类
- 工厂模式:工厂类根据条件生成不同的子类,这些子类有一个公共的抽象父类并且实现了相同的方法,同时这些方法针对不同的数据有不同的操作,即多态方法。(当得到子类的实例后,开发人员可以调用基类中的方法而不需要考虑返回的是哪一个子类的实例)
- 代理模式:给对象提供一个代理对象,由这个代理对象控制原对象的引用。
- 模板(方法)模式:提供一个抽象类,将部分逻辑以具体方法或构造器的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。(比如JdbcTemplate)
- 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知 并被自动更新。(比如马路的红绿灯,红灯亮,汽车,轿车,卡车都要停住)
- 外观(门面)模式:为子系统中的一组接口提供一个一致的界面(比如电话客服就可以是一个这个门面,他是消费者和商家和快递公司的接口,消费者直接联系客服就可以了)
- 单例模式:保证一个类只有一个实例(Spring中bean的作用域默认就是单例的(Singleton))
- 适配器模式:把一个类的接口变成客户端所期待的另一种接口,使得原本因接口不匹配而无法在一起使用的类能够一起工作(生活中生活用电220V和笔记本电脑20V不兼容时,我们需