设计模式——单例模式

设计模式——单例模式

单例模式的定义

Ensure a class has only one instance, and provide a global point of access to it.

确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

public class Singleton{
  private static final Singleton singeton = new Singleton();
  private Singleton(){
  }
  public static Singleton getSingleton(){
      return singleton;
  }
  public static void doSomething(){
    // doSomething
  }
}

单例模式的优点

  • 单例模式在内存中只有一个实例,减少了内存开支
  • 单例模式只生成一个实例,所以减少了系统的性能开销
  • 单例模式可以避免对资源的多重占用
  • 单例模式可以在系统设置全局的访问点,优化和共享资源访问。

单例模式的缺点

  • 单例模式一般没有接口,扩展很困难
  • 单例模式对测试是不利的
  • 单例模式与单一职责原则有冲突。

单例模式的使用场景

  • 要求生成唯一序列号的环境
  • 在整个项目中需要一个共享访问点或共享数据
  • 创建一个资源需要消耗的资源过多
  • 需要定义大量的静态常量和静态方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 本文的结构如下: 什么是单例模式 为什么要用该模式 模式的结构 代码示例 优点和缺点 适用环境 模式应用 总...
    w1992wishes阅读 401评论 1 2
  • 单例模式(Singleton):在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有...
    _SHYII阅读 830评论 0 2
  • 单例模式 介绍 为了节约系统资源,有时需要确保系统中某个类只有唯一一个实例,当这个唯一实例创建成功之后,我们无法再...
    666真666阅读 359评论 0 6
  • 1. 单例模式 确保某一个对象只有一个实例,而且自行实例化并向整个程序提供这个实例。 优点 由于单例模式在内存中只...
    Mr希灵阅读 6,431评论 0 5
  • 秋风萧瑟, 吹零一树, 干枯了的叶儿…… 我独自一人, 徘徊于林巷, 小心翼翼地, 踏着布满青苔的, 光滑的石阶,...
    水云怒阅读 480评论 1 3