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

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

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

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
    轉 http://www.jdon.com/designpatterns/template.htm

    Template模板模式定義:
    定義一個操作中算法的骨架,將一些步驟的執行延遲到其子類中.

    使用Java的抽象類時,就經常會使用到Template模式,因此Template模式使用很普遍.而且很容易理解和使用。

     

    public abstract class Benchmark
    {
      /**
      * 下面操作是我們希望在子類中完成
      */
      public abstract void benchmark();

      /**
      * 重復執行benchmark次數
      */
      public final long repeat (int count) {
        if (count <= 0)
          return 0;
        else {
          long startTime = System.currentTimeMillis();

        for (int i = 0; i < count; i++)
          benchmark();

        long stopTime = System.currentTimeMillis();
        return stopTime - startTime;
      }
    }
    }

    在上例中,我們希望重復執行benchmark()操作,但是對benchmark()的具體內容沒有說明,而是延遲到其子類中描述:

    public class MethodBenchmark extends Benchmark
    {
      /**
      * 真正定義benchmark內容
      */
      public void benchmark() {

        for (int i = 0; i < Integer.MAX_VALUE; i++){
          System.out.printtln("i="+i);    
        }
      }
    }

    至此,Template模式已經完成,是不是很簡單?

    我們稱repeat方法為模板方法, 它其中的benchmark()實現被延遲到子類MethodBenchmark中實現了,

    看看如何使用:

    Benchmark operation = new MethodBenchmark();
    long duration = operation.repeat(Integer.parseInt(args[0].trim()));
    System.out.println("The operation took " + duration + " milliseconds");

     

    也許你以前還疑惑抽象類有什么用,現在你應該徹底明白了吧? 至于這樣做的好處,很顯然啊,擴展性強,以后Benchmark內容變化,我只要再做一個繼承子類就可以,不必修改其他應用代碼.

    posted on 2009-03-09 10:55 二胡 閱讀(136) 評論(0)  編輯  收藏 所屬分類: 設計相關
    主站蜘蛛池模板: 一二三四影视在线看片免费| 国产免费播放一区二区| 亚洲乱码一二三四区麻豆| 亚洲国产av美女网站| 精品国产免费人成电影在线观看| 国产精品四虎在线观看免费 | 最近2019中文免费字幕在线观看 | 国产精品免费无遮挡无码永久视频| 69免费视频大片| 亚洲精品99久久久久中文字幕 | 亚洲熟妇色自偷自拍另类| 亚洲国产乱码最新视频 | 久久精品成人免费观看| 亚洲精品免费视频| 亚洲国产精品日韩av不卡在线 | 一级黄色毛片免费看| 91香焦国产线观看看免费| 国产一区二区三区免费看| 久久精品国产亚洲AV电影| 一级日本高清视频免费观看| 久久精品国产精品亚洲人人| 亚洲国产成人精品激情| 免费无码毛片一区二区APP| 国产亚洲精午夜久久久久久 | 国产福利在线免费| 亚洲爆乳AAA无码专区| 精品国产亚洲男女在线线电影| 怡红院免费全部视频在线视频| 亚洲精品亚洲人成在线观看下载| 国产V片在线播放免费无码 | 老司机午夜在线视频免费 | 国产男女猛烈无遮挡免费视频| 九九免费观看全部免费视频| 亚洲A∨无码一区二区三区| 一级特黄色毛片免费看| 亚洲av日韩av不卡在线观看| 国产在线a免费观看| 亚洲永久中文字幕在线| 日韩一品在线播放视频一品免费| 久久久久亚洲国产| 亚洲午夜无码AV毛片久久|