多例模式

      所谓多例模式,实际上就是单例模式的自然推广,单例类一般情况下只可以有一个实例,但单例类也可以推广到允许有限个实例,这种模式就是多例模式。作为对象的创建模式,多例模式有以下特点: 
      多例类可以有多个实例。 
      多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。 
      多例类分为有上限多例类与无上限多例类。
      一个有上限的多例类已经把实例的上限当作逻辑的一部分,并建造到了多例类的内部。如下:
public class Multiton

      private static Multiton instance1=null; 
      private static Multiton instance2=null; 
      private Multiton() { } 
      public static Multiton getInstance(int whichOne) 
      { 
            if(whichOne==1) 
            { 
                  if(instance1==null) 
                  {
                       instance1=new Multiton (); 
                  } 
                  return instance1; 
            } 
            else 
            { 
                  if(instance2==null) 
                  { 
                        instance2=new Multiton (); 
                  } 
                  return instance2; 
            } 
      }
}
多例类的实例数目不需要有上限,实例数目没有上限的多例模式就叫做无上限多例模式。由于没有上限的多例类对实例的数目是没有限制的,因此,虽然这种多例模式是单例模式的推广,但是这种多例类并不一定能够回到单例类。一般采用聚集管理所有的实例。
posted @ 2009-08-16 01:17  Vihone  阅读(1035)  评论(0编辑  收藏  举报