一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

服務器之家 - 編程語言 - JAVA教程 - 舉例講解Java設計模式編程中模板方法模式的運用實例

舉例講解Java設計模式編程中模板方法模式的運用實例

2020-04-25 15:27匆忙擁擠repeat JAVA教程

這篇文章主要介紹了Java設計模式編程中模板方法模式的運用實例,模板方法模式強調基于繼承的代碼復用,需要的朋友可以參考下

模板方法模式定義為:

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

Java實現示例
類圖:

舉例講解Java設計模式編程中模板方法模式的運用實例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 * 業務流程模板,提供基本框架
 */
public abstract class BaseTemplate {
   
  public abstract void part1();
 
  public abstract void part2();
 
  public abstract void part3();
 
  //這里為了嚴格實驗結果,使用final不可被重寫
  public final void useTemplateMethod() {
    part1();
    part2();
    part3();
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * 模板實現方式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");
  }
 
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * 模板實現方式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");
  }
   
}
?
1
2
3
4
5
6
7
8
9
10
11
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
4
5
6
7
模板方法1
模板方法2
模板方法3
 
模板方法11
模板方法22
模板方法33

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人综合手机在线播放 | 国产精品国产精品国产三级普 | 男人叼女人的痛爽视频免费 | 亚洲精品免费在线观看 | 婷婷天天 | 欧美18~20性hd | 97影院3| 日本精品久久久久中文字幕 1 | 欧美日韩在线观看一区二区 | dasd-698黑人在线播放 | 国产精自产拍久久久久久 | 女子校生下媚药在线观看 | www.97cao| 日韩欧美亚洲每日更新网 | 精品午夜久久福利大片免费 | 久久久无码精品亚洲A片猫咪 | 四虎在线成人免费网站 | 成人综合婷婷国产精品久久免费 | 青青国产成人久久激情91麻豆 | 国产精品视频人人做人人爱 | 日韩精品中文字幕视频一区 | 色综合图片| 亚洲色图欧美偷拍 | 天堂漫画破解版 | 操美女网址 | 亚洲精品无码久久不卡 | 99热这里只有精品在线播放 | 精品视频在线免费观看 | 日韩一区二三区无 | 婷婷国产在线 | 久久88综合 | 精品一区久久 | 59日本人xxxxxxxxx69 | 羞羞视频免费观 | 草莓社区 | 果冻传媒在线视频播放观看 | 美女被草逼 | 国产一区二区在线观看美女 | 天天色影视综合网 | 50度灰破解版v5.7.0 | igao网果冻传媒 |