23种设计模式

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. 

原文地址:https://www.cnblogs.com/2070393244com/p/9465636.html