手机
当前位置:查字典教程网 >编程开发 >Java >举例讲解Java设计模式编程中模板方法模式的运用实例
举例讲解Java设计模式编程中模板方法模式的运用实例
摘要:模板方法模式定义为:在一个方法中定义了一个算法的骨架或者步骤,而将一些步骤延迟到子类中去实现。模板方法使得子类可以在不改变算法结构的情况下,...

模板方法模式定义为:

在一个方法中定义了一个算法的骨架或者步骤,而将一些步骤延迟到子类中去实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某一些步骤。

模板方法在基类中定义了一个操作的流程顺序,能够保证该步骤按序进行,有一些步骤的具体实现在基类中已经声明,而将一些变化的步骤的具体实现交给了子类去实现,从而就达到了延迟一些步骤到子类中,模板方法一个最大的好处就是能够设定一个业务流程能够按照一定严格的顺序执行,控制了整个算法的执行步骤。

这个方法将算法定义成一组步骤,其中凡是想让子类进行自定义实现的步骤,均定义为抽象方法。抽象基类的特点是,一般将模板方法设置为final,这样防止子类覆盖该算法的步骤,将一些相同的操作或步骤直接在基类中实现,将一些变化的步骤设置为抽象由子类去完成。

Java实现示例

类图:

举例讲解Java设计模式编程中模板方法模式的运用实例1

/** * 业务流程模板,提供基本框架 */ 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 */ 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"); } }

/** * 模板实现方式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

【举例讲解Java设计模式编程中模板方法模式的运用实例】相关文章:

Java设计模式之Iterator模式介绍

谈谈 Java 中 this 的使用方法

Java递归算法的使用分析

java信号量控制线程打印顺序的示例分享

java中的hashCode方法小例子

java 下执行mysql 批量插入的几种方法及用时

java中读取配置文件中数据的具体方法

解决Java调用BAT批处理不弹出cmd窗口的方法分析

java设计模式之装饰模式详细介绍

java设计模式之建造者模式学习

精品推荐
分类导航