23种设计模式
单例模式:
饿汉式:
三个注意点:
1. 私有构造器
2. 创建私有属性(创建一个私有对象,类初始化时,立即加载私有对象)
3. 提供一个访问方法
优点:线程安全,调用效率高,类加载时就加载
懒汉式
注意三点
1.私有构造器
2.创建私有属性(创建对象为null,不初始化,延时加载,真正用的时候在加载)
3.提供一个访问方法(加同步synchronized,调用后效率低)
优点:线程安全,调用效率低,延时加载
双重检测所模式
静态内部类实现方式
注意三点
1创建内部类,并且创建内部私有外部类的对象
2私有化构造器
3提供外部类访问方法,返回值为内部类.创建的私有对象,不需要同步。
优点:线程安全,调用效率高,延时加载
枚举单例模式
注意点:
1枚举类定义枚举元素(本身就2是单例对象)
3定义普通方法
4私有构造器
缺点:无延时加载
反射破解单例:
序列化反序列化
b) 代码
工厂模式(创建实例化对象,增加新对象)
简单工厂模式
1.违反了开闭(OCP)原则(创建新对象,需要修改已有的代码),扩展性差
2.与工厂和接口打交道
工厂方法模式
1.实现各个产品的工厂(Factory接口各个工厂实现Factory接口)
2.实现开闭(OCP)原则
抽象工厂模式
1.保留了开闭原则(OCP),可以增加产品和产品组
2.