<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
    轉 http://www.jdon.com/designpatterns/template.htm

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

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

     

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

      /**
      * 重復執(zhí)行benchmark次數(shù)
      */
      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;
      }
    }
    }

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

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

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

    至此,Template模式已經(jīng)完成,是不是很簡單?

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

    看看如何使用:

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

     

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

    posted on 2009-03-09 10:55 二胡 閱讀(136) 評論(0)  編輯  收藏 所屬分類: 設計相關
    主站蜘蛛池模板: 在线免费观看亚洲| 黄色三级三级免费看| 亚洲精华国产精华精华液好用 | 亚洲精品网站在线观看不卡无广告 | 热久久精品免费视频| 亚洲啪AV永久无码精品放毛片 | 免费精品一区二区三区第35| 日韩在线免费电影| 亚洲人成电影网站色| 日韩视频免费一区二区三区| 亚洲AV永久无码精品一福利| 99精品视频在线观看免费专区| 国产美女精品久久久久久久免费| 亚洲成AV人片在线播放无码| 免费一级毛片在线播放视频| 亚洲国产精品成人久久| 99久久精品免费精品国产| 亚洲国产日韩女人aaaaaa毛片在线| 黄页网站免费在线观看| 亚洲另类无码专区丝袜| 免费jjzz在在线播放国产| 国产vA免费精品高清在线观看| 日韩特黄特色大片免费视频| 美女视频黄a视频全免费网站色| 亚洲午夜精品久久久久久浪潮| 亚洲中文字幕久久精品蜜桃| 国产高清免费视频| 亚洲日本一线产区和二线| 亚洲午夜成人精品电影在线观看| 免费萌白酱国产一区二区三区| 亚洲香蕉网久久综合影视| 一本一道dvd在线观看免费视频| 日本亚洲视频在线 | 亚洲成av人在片观看| 亚洲AV无码专区亚洲AV桃| 久久精品国产亚洲Aⅴ香蕉| 在线播放免费人成视频网站| 免费大片在线观看网站| 中文无码成人免费视频在线观看| 亚洲伊人精品综合在合线| 又粗又硬又黄又爽的免费视频|