<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
    轉(zhuǎn) http://www.jdon.com/designpatterns/template.htm

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

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

     

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

      /**
      * 重復(fù)執(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;
      }
    }
    }

    在上例中,我們希望重復(fù)執(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)在你應(yīng)該徹底明白了吧? 至于這樣做的好處,很顯然啊,擴(kuò)展性強(qiáng),以后Benchmark內(nèi)容變化,我只要再做一個繼承子類就可以,不必修改其他應(yīng)用代碼.

    posted on 2009-03-09 10:55 二胡 閱讀(145) 評論(0)  編輯  收藏 所屬分類: 設(shè)計相關(guān)
    主站蜘蛛池模板: 亚洲欧洲中文日产| 亚洲 无码 在线 专区| 亚洲高清资源在线观看| 免费h视频在线观看| 亚洲国产另类久久久精品黑人| www一区二区www免费| 一本色道久久综合亚洲精品高清| 一级毛片一级毛片免费毛片| 亚洲一区二区三区乱码A| 国产va免费精品| 亚洲人JIZZ日本人| 无码日韩精品一区二区免费暖暖| 亚洲短视频男人的影院| 18禁无遮挡无码国产免费网站| 亚洲欧洲高清有无| 嫩草影院在线免费观看| 大桥未久亚洲无av码在线| 亚洲国模精品一区| 久久aⅴ免费观看| 亚洲图片中文字幕| 国产免费啪嗒啪嗒视频看看| 一二三四在线观看免费中文在线观看| 在线观看亚洲成人| 57pao国产成永久免费视频| 亚洲一区二区三区在线观看蜜桃| 女人毛片a级大学毛片免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 亚洲成?Ⅴ人在线观看无码| 男人进去女人爽免费视频国产| 亚洲人成在线精品| 亚洲国产成人久久笫一页| 国产一级淫片a免费播放口| 亚洲人xxx日本人18| 亚洲视频人成在线播放| 曰批全过程免费视频播放网站| 亚洲av第一网站久章草| 亚洲国产三级在线观看| 女人18毛片特级一级免费视频| aaa毛片免费观看| 最新国产精品亚洲| 亚洲精品无码专区在线在线播放 |