欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

舉例講解Java設(shè)計(jì)模式編程中模板方法模式的運(yùn)用實(shí)例

 更新時(shí)間:2016年05月05日 09:37:51   作者:匆忙擁擠repeat  
這篇文章主要介紹了Java設(shè)計(jì)模式編程中模板方法模式的運(yùn)用實(shí)例,模板方法模式強(qiáng)調(diào)基于繼承的代碼復(fù)用,需要的朋友可以參考下

模板方法模式定義為:

在一個(gè)方法中定義了一個(gè)算法的骨架或者步驟,而將一些步驟延遲到子類(lèi)中去實(shí)現(xiàn)。模板方法使得子類(lèi)可以在不改變算法結(jié)構(gòu)的情況下,重新定義算法中的某一些步驟。
模板方法在基類(lèi)中定義了一個(gè)操作的流程順序,能夠保證該步驟按序進(jìn)行,有一些步驟的具體實(shí)現(xiàn)在基類(lèi)中已經(jīng)聲明,而將一些變化的步驟的具體實(shí)現(xiàn)交給了子類(lèi)去實(shí)現(xiàn),從而就達(dá)到了延遲一些步驟到子類(lèi)中,模板方法一個(gè)最大的好處就是能夠設(shè)定一個(gè)業(yè)務(wù)流程能夠按照一定嚴(yán)格的順序執(zhí)行,控制了整個(gè)算法的執(zhí)行步驟。
這個(gè)方法將算法定義成一組步驟,其中凡是想讓子類(lèi)進(jìn)行自定義實(shí)現(xiàn)的步驟,均定義為抽象方法。抽象基類(lèi)的特點(diǎn)是,一般將模板方法設(shè)置為final,這樣防止子類(lèi)覆蓋該算法的步驟,將一些相同的操作或步驟直接在基類(lèi)中實(shí)現(xiàn),將一些變化的步驟設(shè)置為抽象由子類(lèi)去完成。

Java實(shí)現(xiàn)示例
類(lèi)圖:

20165593331891.jpg (864×606)

/** 
 * 業(yè)務(wù)流程模板,提供基本框架 
 */ 
public abstract class BaseTemplate { 
   
  public abstract void part1(); 
 
  public abstract void part2(); 
 
  public abstract void part3(); 
 
  //這里為了嚴(yán)格實(shí)驗(yàn)結(jié)果,使用final不可被重寫(xiě) 
  public final void useTemplateMethod() { 
    part1(); 
    part2(); 
    part3(); 
  } 
} 

/** 
 * 模板實(shí)現(xiàn)方式1 
 */ 
public class TemplateMethod extends BaseTemplate { 
 
  @Override 
  public void part1() { 
    System.out.println("模板方法1"); 
  } 
 
  @Override 
  public void part2() { 
    System.out.println("模板方法2"); 
  } 
 
  @Override 
  public void part3() { 
    System.out.println("模板方法3"); 
  } 
 
} 

/** 
 * 模板實(shí)現(xiàn)方式2 
 * @author stone 
 * 
 */ 
public class TemplateMethod2 extends BaseTemplate { 
 
  @Override 
  public void part1() { 
    System.out.println("模板方法11"); 
  } 
 
  @Override 
  public void part2() { 
    System.out.println("模板方法22"); 
  } 
 
  @Override 
  public void part3() { 
    System.out.println("模板方法33"); 
  } 
   
} 

public class Test { 
  public static void main(String[] args) { 
    BaseTemplate tm = new TemplateMethod(); 
    tm.useTemplateMethod(); 
     
    System.out.println(""); 
     
    BaseTemplate tm2 = new TemplateMethod2(); 
    tm2.useTemplateMethod(); 
  } 
} 


打印:

模板方法1 
模板方法2 
模板方法3 
 
模板方法11 
模板方法22 
模板方法33 

相關(guān)文章

  • Dubbo異步調(diào)用的實(shí)現(xiàn)介紹

    Dubbo異步調(diào)用的實(shí)現(xiàn)介紹

    dubbo默認(rèn)使用同步的方式調(diào)用。但在有些特殊的場(chǎng)景下,我們可能希望異步調(diào)用dubbo接口,從而避免不必要的等待時(shí)間,這時(shí)候我們就需要用到異步。那么dubbo的異步是如何實(shí)現(xiàn)的呢?下面就來(lái)看看這個(gè)問(wèn)題
    2022-09-09
  • @RequestBody的使用詳解

    @RequestBody的使用詳解

    這篇文章主要介紹了@RequestBody的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 淺談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解

    淺談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解

    下面小編就為大家?guī)?lái)一篇淺談virtual、abstract方法和靜態(tài)方法、靜態(tài)變量理解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • java利用Socket實(shí)現(xiàn)聊天室功能實(shí)例

    java利用Socket實(shí)現(xiàn)聊天室功能實(shí)例

    這篇文章主要介紹了java利用Socket實(shí)現(xiàn)聊天室功能實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • JAVA實(shí)現(xiàn)雙向鏈表的增刪功能的方法

    JAVA實(shí)現(xiàn)雙向鏈表的增刪功能的方法

    本篇文章主要介紹了JAVA實(shí)現(xiàn)雙向鏈表的增刪功能的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 分布式事務(wù)CAP兩階段提交及三階段提交詳解

    分布式事務(wù)CAP兩階段提交及三階段提交詳解

    這篇文章主要為大家介紹了分布式事務(wù)CAP、兩階段提交及三階段提交的內(nèi)容詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-01-01
  • Java集合List與Array的相互轉(zhuǎn)換

    Java集合List與Array的相互轉(zhuǎn)換

    本篇文章主要介紹了Java集合List與Array的相互轉(zhuǎn)換,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • java實(shí)現(xiàn)文件復(fù)制、剪切文件和刪除示例

    java實(shí)現(xiàn)文件復(fù)制、剪切文件和刪除示例

    這篇文章主要介紹了java實(shí)現(xiàn)文件復(fù)制、剪切文件和刪除示例,需要的朋友可以參考下
    2014-04-04
  • java 創(chuàng)建線程的四種方式

    java 創(chuàng)建線程的四種方式

    這篇文章主要介紹了java 創(chuàng)建線程的四種方式,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11
  • 深入理解JavaWeb中過(guò)濾器與監(jiān)聽(tīng)器的應(yīng)用

    深入理解JavaWeb中過(guò)濾器與監(jiān)聽(tīng)器的應(yīng)用

    這篇文章主要介紹了JavaWeb中過(guò)濾器與監(jiān)聽(tīng)器的應(yīng)用,過(guò)濾器能夠?qū)ζヅ涞恼?qǐng)求到達(dá)目標(biāo)之前或返回響應(yīng)之后增加一些處理代碼,監(jiān)聽(tīng)器是一個(gè)接口內(nèi)容由我們實(shí)現(xiàn),會(huì)在特定時(shí)間被調(diào)用,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05

最新評(píng)論