3.5 单例模式

单例模式定义:

单例模式(也叫单件模式)是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。

 

UML类图:

 

 

类图代码:

主动式(不管有没有调用,都先实例化出来):

public class Singleton {
     private static Singleton singleton = new Singleton();
     
     private Singleton() {}
     
     public static Singleton getInstance(){ 
         return singleton;
     }
}

 

被动式(第一次调用的时候才实例化出来):

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

 

模式特色:

(1)单例模式使类在程序生命周期的任何时刻都只有一个实例,
(2)单例的构造函数是私有的,外部程序如果想要访问这个单例类的话,必须通过 getInstance()来获取这个单例类的实例。

 

模式应用场景:

(1)配置文件类一般都可以通过单例模式实现,因为配置文件在应用中只需一份就够了。

posted on 2012-05-19 21:09  随心浪子  阅读(170)  评论(0编辑  收藏  举报

导航