激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java設計模式之模板模式(Template模式)介紹

Java設計模式之模板模式(Template模式)介紹

2019-12-11 13:48junjie JAVA教程

這篇文章主要介紹了Java設計模式之模板模式(Template模式)介紹,定義一個操作中算法的骨架,將一些步驟的執行延遲到其子類中,需要的朋友可以參考下

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

其實Java的抽象類本來就是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模式已經完成,是不是很簡單?看看如何使用:

復制代碼代碼如下:

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


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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 暴力肉体进入hdxxxx古装 | 女人一级一级毛片 | av黄色片网站 | 一级免费观看 | 日本爽快片100色毛片视频 | 一区二区三区日韩在线 | 国产乱淫a∨片免费视频 | 色阁五月| 免费观看黄视频 | 国产一区二区三区在线观看视频 | 高清成人在线 | 免费网站看毛片 | 久久久久久久久日本理论电影 | 一区二区精品在线 | 国产精品久久久久久久亚洲按摩 | 黄色大片网| ,欧美特黄特色三级视频在线观看 | 毛片免费在线观看 | 日韩中文一区 | 万圣街在线观看免费完整版 | 视频二区国产 | 久久影院国产精品 | 成人羞羞网站入口 | 欧美日韩在线看片 | 欧美18videos性处按摩 | 黄色va视频 | 精品一区二区三区日本 | 91羞羞 | 欧美wwwsss9999 | 亚洲电影免费观看国语版 | 欧美福利视频一区二区三区 | 羞羞的视频在线观看 | 欧美黄一级 | 久久在草 | 日产精品一区二区三区在线观看 | 国产99视频在线观看 | 久久不射电影网 | 新久久久久久 | 日本aaa一级片 | 成人毛片免费 | 毛片网站视频 |