模式介绍

单例模式是一种创建型设计模式,它保证一个类仅有一个实例,并提供一个访问它的全局访问点。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。

使用场景

  • 一个类只有一个实例时
  • 这个单一实例需要被所有程序共享时
  • 当您想控制实例数目,节省系统资源时

代码示例

public class Singleton {
    private static volatile Singleton instance;

    private Singleton() {}

    public static Singleton getInstance() {
        if (instance == null) {
            synchronized (Singleton.class) {
                if (instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }

    public void doSomething() {
        System.out.println("单例模式示例");
    }
}

优缺点

优点

  • 保证一个类只有一个实例
  • 节省系统资源
  • 提供了对唯一实例的全局访问点

缺点

  • 在多线程环境下需要特别注意
  • 单例模式可能掩盖不良设计
  • 违反了单一职责原则