模板方法设计模式
2016-11-28 09:44
113 查看
含义
定义一个算法的骨架,而将算法一些步骤的具体实现延迟到子类中
核心
通过继承实现代码复用的技术
优点
使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求
缺点
如果算法骨架有修改的话,则需要修改抽象类代码基本结构
在一个抽象类中,定义一个final类型的方法,作为算法的骨架,当中实现方式不确定的步骤抽象成对应的抽象方法,由子类继承实现。子类继承父类,实现抽象方法。abstract class 类名 { // 算法的骨架 public final 返回类型 方法名(){ step1(); ... step5(); } // 不确定的步骤 public abstract 返回类型 step1(); public abstract 返回类型 step5(); }
举例
实现程序耗时统计功能public class TemplateDemo { public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.getTime()); } } abstract class GetTime { public final long getTime() { long start = System.currentTimeMillis(); code(); long end = System.currentTimeMillis(); return end - start; } public abstract void code(); } class Demo extends GetTime { @Override public void code() { int i = 0; while(i < 100000) { System.out.println("x"); i++; } } }
参考文章
模板方法模式深度解析相关文章推荐
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式笔记 13. TemplateMethod 模板方法模式(行为型模式)
- 设计模式之模板方法模式(Template Method)
- 设计模式学习之 模板方法模式
- 深入浅出Java模式设计之模板方法模式
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式——模板方法模式(TemplateMethod)
- 深入浅出Java模式设计之模板方法模式
- 设计模式学习日志(14)-TemplateMethod模板方法(行为型模式)
- 设计模式 - Template Method Pattern(模板方法模式)
- 设计模式系列漫谈之六 - 模板方法模式
- 设计模式笔记(十五) —— 模板方法模式
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式(七)[模板方法(Template Method)模式]
- 第六个设计模式之:模板方法
- 浅析设计模式之模板方法
- 设计模式一模板方法模式(spring)
- 白话设计模式--行为型模式--Template Method模式(模板方法模式)
- 设计模式(1)- 模板方法 Template Method Pattern