仅供学习若有错误请斧正
设计模式大体上有三类:创建型,行为型,结构型
创建型设计模式
解决的是:创建对象的问题
特点:将对象的创建与使用分离
单例模式
某个类只能生成一个实例,提供一种对外的接口供调用者获取这个实例
可拓展为:有限多个实例
饿汉式
线程安全,类初始化时就把对象创建好了
懒汉式
线程不安全,需要使用synchronize关键字同步方法块,成本高昂
双重校验机制
使用volatile关键字并在方法中一次判断为null后再使synchronize关键字同步该类
简单工厂模式(不算23种设计模式之一)
具体工厂对象决定创建的是哪种产品实例
工厂方法模式
抽象工厂对象的子类(具体工厂)去生产商品,抽象工厂决定调用哪个子类(具体工厂)去生产商品
抽象工厂模式
把相似或相关联产品抽象为对象簇,根据要创建产品的对象簇类型决定调用哪个子类工厂,更加解耦
从左到右依次是,简单工厂模式,工厂方法模式,抽象工厂模式
原型模式
有大量的相同或相似对象需要创建
可以使用Object.clone()方法克隆