成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

J2EE設(shè)計(jì)模式之Template

開(kāi)發(fā) 后端
本文介紹了J2EE設(shè)計(jì)模式中的Template的用法。其實(shí)Java的抽象類本來(lái)就是Template模式,因此使用很普遍,而且很容易理解和使用。使用抽象類可以大大增強(qiáng)項(xiàng)目的擴(kuò)展性。

Template定義:

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

其實(shí)Java的抽象類本來(lái)就是Template模式,因此使用很普遍.而且很容易理解和使用,我們直接以示例開(kāi)始:

  1. public abstract class Benchmark  
  2. {  
  3.   /**  
  4.   * 下面操作是我們希望在子類中完成  
  5.   */ 
  6.   public abstract void benchmark();   
  7.  
  8.   /**  
  9.   * 重復(fù)執(zhí)行benchmark次數(shù)  
  10.   */ 
  11.   public final long repeat (int count) {  
  12.     if (count <= 0)  
  13.       return 0;  
  14.     else {  
  15.       long startTime = System.currentTimeMillis();  
  16.  
  17.     for (int i = 0; i < count; i++)   
  18.       benchmark();  
  19.  
  20.     long stopTime = System.currentTimeMillis();  
  21.     return stopTime - startTime;  
  22.   }  
  23. }  
  24. }  

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

  1. public class MethodBenchmark extends Benchmark  
  2. {  
  3.   /**  
  4.   * 真正定義benchmark內(nèi)容  
  5.   */ 
  6.   public void benchmark() {  
  7.  
  8.     for (int i = 0; i < Integer.MAX_VALUE; i++){  
  9.       System.out.printtln("i="+i);      
  10.     }  
  11.   }  
  12. }  

至此,Template模式已經(jīng)完成,是不是很簡(jiǎn)單?看看如何使用:

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

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

【編輯推薦】

  1. J2EE之DAO設(shè)計(jì)模式簡(jiǎn)介與實(shí)例
  2. J2EE常用的設(shè)計(jì)模式
  3. 使用WebSphere構(gòu)建J2EE應(yīng)用程序
  4. J2EE歷史簡(jiǎn)述
  5. Spring的起源和背景 以及你為什么要使用Spring
責(zé)任編輯:book05 來(lái)源: 百度博客
相關(guān)推薦

2009-06-11 17:23:09

J2EE設(shè)計(jì)模式State模式

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計(jì)模式

2009-06-11 17:11:07

J2EE設(shè)計(jì)模式工廠模式

2009-06-11 17:13:44

J2EE設(shè)計(jì)模式Dao設(shè)計(jì)模式

2009-06-11 17:24:46

J2EE的MVC體系結(jié)J2EE設(shè)計(jì)模式

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護(hù)

2009-06-23 16:48:26

J2EE常見(jiàn)問(wèn)題J2EE平臺(tái)

2009-06-22 17:34:40

J2EE架構(gòu)

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-23 08:12:48

J2EE調(diào)用存儲(chǔ)過(guò)程

2009-06-22 17:05:41

Java EEJava企業(yè)應(yīng)用

2009-06-22 16:21:02

J2EE線程

2009-06-18 16:13:14

J2EE開(kāi)發(fā)

2009-09-23 17:11:18

數(shù)據(jù)持久層Hibernate

2009-06-19 17:03:44

J2EE學(xué)習(xí)

2009-06-22 11:04:00

Jdbc存儲(chǔ)過(guò)程

2011-05-16 14:07:58

J2EE

2009-02-23 11:18:06

J2EE架構(gòu)師Java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人午夜视频在线观看 | 91视频国产区 | 亚洲九九 | 久久久久免费 | 日韩视频国产 | 中文字幕乱码一区二区三区 | 天天干视频网 | 成人免费看片又大又黄 | 亚洲精品日韩一区二区电影 | 欧美久久久电影 | 高清国产午夜精品久久久久久 | 国产一区二区不卡 | 美女爽到呻吟久久久久 | 自拍偷拍中文字幕 | 一区二区三区视频在线观看 | 天天天天操 | 操视频网站 | 久久久久久高潮国产精品视 | 国产伦精品一区二区 | 91中文字幕在线观看 | 在线国产一区 | 国产欧美日韩二区 | 国产精品av久久久久久久久久 | 欧美日韩国产三级 | 给我免费的视频在线观看 | 久久一区二区视频 | 亚洲精品乱码久久久久久黑人 | 亚洲成av人片在线观看 | 国产亚洲精品精品国产亚洲综合 | 欧美性大战久久久久久久蜜臀 | 午夜免费观看体验区 | 成人激情视频在线观看 | 在线亚洲人成电影网站色www | 91一区二区 | 亚洲一区在线播放 | 亚洲欧美日韩网站 | 亚洲视频中文字幕 | 欧美在线观看一区 | 久草新在线| 亚洲一区欧美一区 | 欧美高清hd|