单例模式

来源:互联网 发布:福建税友软件 编辑:程序博客网 时间:2024/05/31 13:16

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供此实例。其类图和代码框架分别如下:

描述有什么用

- Singleton.java

/** - Created by Cheney Hwang on 2017/5/10. - 线程安全 */public class Singleton {    private static final Singleton singleton = new Singleton();    //私有构造函数禁止外部构建实例    private Singleton() {    }    public static Singleton getSingleton() {        return singleton;    }    //单例的其他方法最好也是静态的    public static void doSomething() {        System.out.println("I'm singleton!");    }}

1. 单例模式使用场景:

  • 用于统筹控制系统资源、序号分配等;
  • 作为系统的共享访问点;
  • 对象创建吃力;
  • 定义大量静态常量和静态方法的工具类。

2. 单例模式的优点

  • 减少内存开支;
  • 无需频繁创建和销毁,提高性能,尤其有利于大对象;
  • 避免资源多重占用;

3. 单例模式的缺点

  • 扩展困难,单例模式没有接口(当然,单例不是为了扩展而生的)
  • 不利于测试
0 0
原创粉丝点击