首頁 > Java > java教程 > Java實作範本方法(TemplateMethod)模式的方法詳解

Java實作範本方法(TemplateMethod)模式的方法詳解

黄舟
發布: 2017-03-11 11:07:57
原創
1447 人瀏覽過

類別圖



1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

/**

 * 业务流程模板,提供基本框架

 * @author stone

 *

 */

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

22

23

/**

 * 模板实现方式1

 * @author stone

 *

 */

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

12

13

14

15

16

17

18

19

20

/**

 * 模板方法(TemplateMethod)模式:行为型模式,定义了一系列操作的骨架,将模块的实现 延迟到实现类或者子类中实现。

 * 跟建造者模式的区别:

 *      建造者模式,使用组合方式,由指挥者Director指挥组合的Builder建造,建造流程由Director控制,建造的模块方法由Builder实现

 *      模板方法模式,由模板定义操作流程,由子类或实现类 实现具体的模块方法

 *      综上,建造者模式灵活于模板方法模式

 * @author stone

 *

 */

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

登入後複製

以上是Java實作範本方法(TemplateMethod)模式的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板