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

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

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

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美性bbbbbxxxxxxx | 91精品国产美女福到在线不卡 | japanese乱子mate | 关晓彤一级做a爰片性色毛片 | 美女脱了内裤打开腿让人羞羞软件 | 亚洲大爷操 | 久久久久久久久女黄9999 | 猫咪免费人成网站在线观看入口 | 国产精品理论片 | 奶茶视频有容乃大 | 亚洲国产欧美久久香综合 | 美女岳肉太深了使劲 | 欧美极品brazzers 高清 | 四虎精品永久免费 | 草久网| 男生同性视频twink在线 | 国产成人亚洲精品91专区手机 | 国产日产欧产精品精品软件 | ass日本乱妇ass| 99久久免费看精品国产一区 | 亚洲电影不卡 | www视频免费观看 | 午夜福利电影网站鲁片大全 | s0e一923春菜花在线播放 | 国产精品欧美日韩一区二区 | 四缺一小说| 亚洲va久久久噜噜噜久久狠狠 | 欧美日韩一区不卡 | 欧美性黑人巨大gaysex | 色综合色狠狠天天综合色 | 乌克兰粉嫩摘花第一次 | 2022国产在线观看 | 97视频久久久 | 俄罗斯女人与公拘i交酡 | 成人免费影院 | 亚洲AV久久无码精品九号软件 | 天天碰夜夜操 | 欧美va免费精品高清在线 | 黑人粗又长 | 无罩看奶禁18 | 40岁女人三级全黄 |