设计模式
单例模式
有8种写法,比较完美的有两种
-
第一种写法 饿汉式 (推荐使用)
-
第二种写法 (与第一个没多大区别)
-
第三种 懒汉式
在多线程的情况下,会出现混乱的问题。
-
第四种写法 也称为懒汉式 ,为了解决3的问题,加锁,但是效率会降低
-
第五种写法 也称为懒汉式 但还是不能彻底混乱的问题
-
第六种写法 也称为懒汉式 双重检查
-
第七种写法 比较完美的写法之一 ,静态内部类 ,比第一个完美一些 ,JVM保证了线程安全
-
第八种写法 完美之二的写法 但实际应用很少
策略模式
简单示例:
工厂模式
定义:
简单工厂模式
示例:
示例2:
工厂方法模式
简单示例:
示例2 (多个工厂方法模式):
示例三:(静态工厂方法模式)
抽象工厂模式
简单示例:
示例2:
(扩展:工厂模式 + 策略模式 示例)
步骤一:创建一个接口
步骤二:创建实现接口的实体类。
步骤三:创建工厂
步骤四:具体调用
(img-qOHRMZhF-1614767750508)]
[外链图片转存中…(img-RscJ1ftK-1614767750508)]
步骤三:创建工厂
[外链图片转存中…(img-xBIT9fKV-1614767750508)]
步骤四:具体调用