创建模式

2018-08-17  本文已影响0人  小张同学_loveZY

1. 单例模式

场景:唯一的情况。
1: 饿汉式

{
    public class Singleton {  
    //直接在这里创建类实例,只会创建一次  
    private static Singleton instance = new Singleton();  
    //私有化构造方法,好在内部控制创建实例的数目  
    private Singleton(){          
    }  
    //定义一个方法来为客户端提供类实例   
    public static Singleton getInstance(){  
        return instance;  
    }
}  
缺点 :

2: 懒汉式

{
    public class Singleton {  
        
        //初始不创建
      private static Singleton instance = null;  
      private Singleton(){      
      }
        
        //用到才创建
      public static  Singleton getInstance(){  

          if(instance == null){  
              //二级判断,避免等待锁浪费时间  
              synchronized(Singleton.class){  
                  //再次检查,避免创建时多个线程创建  
                  if(instance == null){  
                      instance = new Singleton();  
                  }  
              }  
          }  
          return instance;  
      }  
    }
}

2. 简单工厂


3. 工厂方法模式


4. 抽象工厂模式


5. 建造者模式


6. 原型模式


上一篇 下一篇

猜你喜欢

热点阅读