首页 > 代码库 > 【设计模式】单例模式

【设计模式】单例模式

一、单例模式简介

  在设计领域中,要求一个类只能有一个对象,所有对象对他的依赖都是相同的。也是因为其只有一个对象,所以在程序设计中,这个对象的特性也是很容易被掌握。对象的产生一般是通过new关键字完成(其实也有其他的,比如反射和对象复制)。

class One {
    private static final One oneClass = new One() ;
    private One(){
        //...
    }

    public static One getInstance () {
        return oneClass ;
    }
    //下面可以写各种功能 ;
}

  单例模式(Singleton Pattern)的维基定义如下:Ensure a class has only one instance ,and provide a global point of access to it .通过private来实现类中只能有一个实例对象。

二、单例模式优缺点

  优点:

  a)由于单例模式只有一个实例对象,因此其能见效内存开销。特别是某一个对象需要平凡建立和销毁。

  b)同时也减少了系统的性能开销。

  缺点:

  a)单例模式没有接口,扩展困难。

  b)对测试不利,在并行开发环境中,一个单例模式没有完成是没有办法进行测试的,没有接口也无法使用mock方式。

【设计模式】单例模式