概述

单例模式 (Singleton Pattern) 又称单件模式、单态模式。确保一个类只能有一个实例,同时保证该类的实例只能在类内部创建,提供给整个系统使用。

优点:节约系统资源,提高系统性能。
缺点:扩展困难,一定程度上违反了“单一职责原则”。

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

图示:
image

分类:单例模式分为饿汉式和懒汉式。饿汉式是在类加载时就创建了类实例,而懒汉式是在需要类实例时才创建类实例。

// 饿汉式,懒汉式见上一段代码
class Singleton {
  private static Singleton s = new Singleton();
  
  private Singleton() {}
  
  public static Singleton getInstance() {
    return s;
  }
}

参考

[1] 刘伟,设计模式,2011.

 posted on 2023-06-18 21:46  x-yun  阅读(2)  评论(0编辑  收藏  举报