设计模式学习1 创建者模式

ANewPro / 2023-09-01 / 原文

创建者模式

创建者模式的主要关注点是“怎样创建对象”,主要特点是“将对象的创建与使用分离”

这样可以降低系统的耦合度,使用者不关心对象的创建细节

创建者模式可以分为:

  • 单例模式
  • 工厂模式
  • 抽象工程模式
  • 原型模式
  • 建造者模式

单例设计模型

涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建,这个类提供了访问其唯一对象的方式,可以直接访问,不需要实例化该类的对象

单例模式的结构

单例模式主要有以下角色

  • 单例类:只能创建一个实例的类
  • 访问类:使用单例的类

单例设计模式分为两种

  • 饿汉式:类加载就会导致该单实例对象被创建
  • 懒汉式:类加载不会导致该单例实例对象被创建,而是首次使用该对象时才会创建

1.饿汉式

  • 方式一:静态变量方式
  • 方式二:静态代码块方式

方式一:

public class Singleton {
    //1.私有构造方法
    private Singleton() {}

    //2.在本类中创建本类对象
    private static Singleton instance = new Singleton();

    //3.提供一个公共的访问方式
    public static Singleton getInstance() {
        return instance;
    }
}

方式二:

public class Singleton {

    private Singleton() {}

    //声明singleton类型的变量

    private static Singleton instance;

    static {
        instance = new Singleton()
    }
    //对外提供访问方式

    public static Singleton getInstance() {
        return instance;
    }
}

说实话,这两个没啥区别

2.懒汉式