設計モードの一例モード(Singleton)


1.単一モードとは
    ,         ,            new       ,          ,       ,       jvm      

2.単例モードを使用する理由:
1.           ,          ,    new,          。
2.        ,             ,        ,         

3.単一モードのサンプルコード:
1.   :

    public class Center{

        private Center(){}
        //             new     

        private static Center entity = new Center();
        //                     

        public static Center getEntity(){
            return this.entity;
        }           
    }

2.   :
    public class Center{
        private Center(){}
        //             new     

        private static Center entity = null;
        //       null

        public stastic Center getEntity(){
            if(entity == null)
                entity = new Center();
            return this.entity;
        }
    }
3.    :
    1.                 new         ,                      
    2.          :
        1.                   
        2.           getEntity()        entity   null,      
    3.        :
        1.                      ,            ,             ,    ,          ,             
        2.         (    )   ,                     ,       ,           ,         ,                         

4.マルチスレッド環境での単一モードの最適化
1.  synchronized 

    public class Center{
        private Center(){}

        private static Center entity = null;

        public static synchronized Center getEntity(){
            if(entity == null)
                entity = new Center();
            return entity;
        }
    }

2.            ,                      ,  ,           ,                 ,             

5.現在、私が開発環境で使用している単一のパターンコード
public class Center{
    private Center(){}
    //                 new         

    private static Center entity = null;
    //      

    private static synchronized Center newEntity(){
        if(entity == null)
            entity = new Center();
        return entity;
    }

    public static Center getEntity(){
        if(entity == null)
            return newEntity();
        return entity;
    }
}

      ,        ,                 。

今回は単例モードを説明しましたが、明後日退勤したら工場モードを説明します.
もし本文にBUGが现れたら、メッセージを残してください.ありがとうございます.小生はjavaスキルを新しい高度に向上させるために努力しています.