. 设计模式类型
一. 设计模式类型
A.创建型模式:
- 单例模式
- 工厂模式
- 抽象工厂模式
- 建造者模式
- 原型模式
B.结构型模式:
- 适配器模式
- 桥接模式
- 装饰模式
- 组合模式
- 外观模式
- 享元模式
- 代理模式
C.行为型模式
- 模版方法模式
- 命令模式
- 迭代器模式
- 观察者模式
- 中介模式
- 备忘录模式
- 解释器模式
- 状态模式
- 策略模式
- 责任链模式
- 访问者模式
二. 创建型模式
1. 单例模式
核心作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点;
常见应用场景:配置文件读取;数据库连接池;spring中bean模式单例;
单例模式优点:由于单例模式只生成一个实例,减少了系统的性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存解决
1.1 常见的5种单例模式实现方式
–主要:
- 饿汉式(线程安全,调用效率高;但是不能延时加载)
- 懒汉式(线程安全,调用效率不高;但是可以延时加载)
–其他:
- 双重检测锁式(由于jvm底层内部模型原因,偶尔会出现问题,不建议使用)
- 静态内部类式(线程安全,调用效率高,可以延时加载)
- 枚举单例(线程安全,调用效率高,不能延时加载)
1.2 饿汉式
要点:单例对象立刻加载
public class Singleton{
private static Singleton instance=new Singleton();
private Singleton(){}
public static Singleton newInstacne(){
return instance;
}
}