Java学习笔记——设计模式之七.模板方法模式

Posted Tomas曼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习笔记——设计模式之七.模板方法模式相关的知识,希望对你有一定的参考价值。

模板方法模式(TemplateMethod),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

结构图:

代码:

算法骨架:

 1 package cn.happy.design_pattern._07templatemethod;
 2 
 3 public abstract class AbstractClass {
 4 
 5     public abstract void primitiveOperation1();
 6     public abstract void primitiveOperation2();
 7     public void templateMethod(){
 8         primitiveOperation1();
 9         primitiveOperation2();
10     }
11 }

某类重写算法骨架的某步骤:

 1 package cn.happy.design_pattern._07templatemethod;
 2 
 3 public class ConcreteClassA extends AbstractClass {
 4 
 5     @Override
 6     public void primitiveOperation1() {
 7         System.out.println("具体类A方法1实现");
 8 
 9     }
10 
11     @Override
12     public void primitiveOperation2() {
13         System.out.println("具体类A方法2实现");
14 
15     }
16 
17 }
18 public class ConcreteClassB extends AbstractClass {
19 
20     @Override
21     public void primitiveOperation1() {
22         System.out.println("具体类B方法1实现");
23 
24     }
25 
26     @Override
27     public void primitiveOperation2() {
28         System.out.println("具体类B方法2实现");
29 
30     }
31 
32 }

测试类:

 1 package cn.happy.design_pattern._07templatemethod;
 2 
 3 public class Mmain {
 4 
 5     public static void main(String[] args) {
 6         AbstractClass c = new ConcreteClassA();
 7         c.templateMethod();
 8         c = new ConcreteClassB();
 9         c.templateMethod();
10 
11     }
12 
13 }

 

以上是关于Java学习笔记——设计模式之七.模板方法模式的主要内容,如果未能解决你的问题,请参考以下文章

struts2学习笔记之七:Result类型

设计模式 - 学习笔记 - TemplateMethod 模板方法

设计模式 - 学习笔记 - TemplateMethod 模板方法

Java进阶篇设计模式之七 ----- 享元模式和代理模式

《Head First 设计模式》学习笔记——模板方法模式

Java设计模式学习笔记