创建模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程
工厂模式 一个工厂类根据传入的参量决定创建出那一种产品类的实例,定义一个创建对象的接口,让子类决定实例化那个类
工厂模式:https://www.runoob.com/design-pattern/factory-pattern.html
抽象工厂模式:https://www.runoob.com/design-pattern/abstract-factory-pattern.html
优点:
1、解耦:把对象的创建和使用的过程分开
2、降低代码重复:普通用new 实例化,取而代之的是用方法获取实例;
3、降低维护成本;
实例:资源、模板加载类,yaml
有个人这么写的单例+工厂模式:
单例模式获取工厂Manager管理器: Factory factory
工厂里定义了很多属性:Factory.A/B/C,然后
- Factory.getA()
- Factory.getB()
- Factory.getC()
通过这种方式获取对象,没有继承公共接口,算是简单工厂模式吧
建造者模式:封装一个复杂对象的构建过程,并可以按步骤构造;与工厂模式的区别是:建造者模式更加关注与零件装配的顺序
没找到实例
单例模式:某个类只能有一个实例,提供一个全局的访问点
设备管理器、计数器、要求生产唯一序列号;保证一个类仅一个实例,提供全局对象;
public class SingleObject {
//创建 SingleObject 的一个对象
private static SingleObject instance = new SingleObject();
//让构造函数为 private,这样该类就不会被实例化
private SingleObject(){}
//获取唯一可用的对象
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println("Hello World!");
}
}
//获取唯一可用的对象(资源管理器)
SingleObject object = SingleObject.getInstance();
//显示消息
object.showMessage();
原型模式:通过复制现有的实例来创建新的实例
缓存一部分实例,通过调用接口,复制已存在的实例,赋值给新的实例;