<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-126  評論-247  文章-5  trackbacks-0

    多例模式實際上就是單例模式的推廣,多例模式又劃分為有上限多例模式無上限多例模式兩種,有上限多例模式中的多例類的實例是有上限的,
    當這個多例類中的上限數值上等于 1 時,此時,多例類退化回到了單例類;而對于無上限多例模式中的多例類,它的上限是沒有限制的,也就是說它的上限數值是不確定的,
    這個多例類并不一定能夠退化成單例類;

    單例模式與多例模式一般性結構:


    多例模式特點:
         1. 多例類可以有多個實例
         2. 多例類必須自己創建自己的實例,并管理自己的實例,和向外界提供自己的實例


    多例類的一個實例,比如:一副麻將都需要有兩顆骰子,在沒有特別意外發生的情況下,這副麻將打多少圈用的都將是這兩顆骰子,兩顆骰子代表的是不同的兩個狀態,
    這里可以將骰子設計成多例類,如圖:


    多例類:Dice.java

    package pattern.multion;

    import java.util.Random;
    /**
     * -----------------------------------------
     * @描述  骰子有上限多例類
     * @作者  fancy
     * @郵箱  fancydeepin@yeah.net
     * @日期  2012-7-31 <p>
     * -----------------------------------------
     
    */

    public class Dice {

        
    public  static final int  INSTANCE1 = 0;
        
    public  static final int  INSTANCE2 = 1;
        
    private static final Dice DICE_INSTANCE1 = new Dice(); //餓漢式
        private static final Dice DICE_INSTANCE2 = new Dice(); //餓漢式
        
        
    //私有化構造子,阻止外部直接實例化對象
        private Dice(){
            
        }

        
        
    /**
         * <B>方法描述:</B>
         * <p style="margin-left:20px;color:#A52A2A;">
         * 獲取多例類的實例
         * 
    @param which <span style="color: #008080;"> 取值范圍:<BR>
         * ① Dice.INSTANCE1:返回Dice的第一個實例對象<BR>
         * ② Dice.INSTANCE2:返回Dice的第二個實例對象<BR>
         * </span>
         * 
    @return <span style="color: #008080;"> 返回Dice的一個實例對象 </span>
         
    */

        
    public static Dice getInstance(int which){
            
            
    switch(which){
                
    case INSTANCE1 :
                    
    return DICE_INSTANCE1;
                
    case INSTANCE2 :
                    
    return DICE_INSTANCE2;
                
    default :
                    
    try {
                        
    throw new Exception("找不到與參數 " + which + " 相匹配的實例!");
                    }
     catch (Exception e) {e.printStackTrace();}
            }

            
    return null;
        }

        
        
    /**
         * <B>方法描述:</B>
         * <p style="margin-left:20px;color:#A52A2A;">
         * 此方法是線程安全的,調用該方法來擲骰子
         * 
    @return <span style="color: #008080;"> 返回骰子的點數 </span>
         
    */

        
    public synchronized int roll(){
            
            
    try {
                Random ran 
    = new Random(System.currentTimeMillis());
                
    int rollValue = ran.nextInt();
                rollValue 
    %= 6;
                Thread.sleep(
    6);
                
    return rollValue > 0 ? ++rollValue : --rollValue * -1;
            }
     catch (Exception e) {e.printStackTrace();}
            
            
    return 1;
        }

    }



    客戶端測試類:Mahjong.java

    package pattern.multion;
    /**
     * -----------------------------------------
     * @描述  客戶端測試類
     * @作者  fancy
     * @郵箱  fancydeepin@yeah.net
     * @日期  2012-7-31 <p>
     * -----------------------------------------
     
    */

    public class Mahjong {

        
    private static Dice dice1 = Dice.getInstance(Dice.INSTANCE1),
                                              dice2 
    = Dice.getInstance(Dice.INSTANCE2);
        
        
    public static void main(String[] args){

            
    int value1 = dice1.roll();
            
    int value2 = dice2.roll();
            System.out.println(value1);
            System.out.println(value2);
        }

        
    }



      
    posted on 2012-07-31 17:44 fancydeepin 閱讀(4023) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲综合成人网在线观看| 在线观看亚洲成人| 亚洲免费福利在线视频| 亚洲狠狠综合久久| 热99RE久久精品这里都是精品免费 | 青青视频观看免费99| 国产精品二区三区免费播放心| 亚洲精品无码久久一线| 两个人看的www免费高清| 国产亚洲精品看片在线观看| 丁香花在线观看免费观看图片| 成人免费毛片内射美女-百度| 亚洲成A人片在线观看中文| 日韩一区二区三区免费播放| 久久久久噜噜噜亚洲熟女综合| 亚洲香蕉在线观看| 永久久久免费浮力影院| 久久久久久久亚洲Av无码 | 亚洲国产人成精品| a级毛片免费高清视频| 亚洲精品无码永久中文字幕| 国产羞羞的视频在线观看免费| 免费一级e一片在线播放| 一区二区三区精品高清视频免费在线播放 | 久久精品亚洲一区二区三区浴池| 狠狠入ady亚洲精品| 国产偷国产偷亚洲高清日韩| 在线综合亚洲欧洲综合网站| 99热在线免费播放| 亚洲午夜无码久久久久软件| 精品一区二区三区免费毛片爱| 日韩精品电影一区亚洲| 免费国产99久久久香蕉| 亚洲另类少妇17p| 最近中文字幕大全中文字幕免费| 国产亚洲精品成人AA片新蒲金 | 国产精品冒白浆免费视频 | 亚洲国产综合精品中文字幕| 久久青青草原国产精品免费| va天堂va亚洲va影视中文字幕| 狼群影院在线观看免费观看直播|