Java之模板方法模式(Template Method)
2011-12-28 16:11
369 查看
1. 概念:定义一个算法的骨架,而将一些实现步骤延迟到子类中。
把不变的行为搬到超类,去除子类中重复的代码来体现他的优势。
2. UML图:
3.代码:
4.应用场景:
1) 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。
2) 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。
把不变的行为搬到超类,去除子类中重复的代码来体现他的优势。
2. UML图:
3.代码:
public abstract class Templete { private void beforeOperation() { System.out.println("This acton before the operation!"); } private void afterOperation() { System.out.println("This acton after the operation!"); } //需要推迟到子类(实现类) 中执行 protected abstract void operation(); public void topOperation() { beforeOperation(); operation(); afterOperation(); } } public class TempleteImpl extends Templete { protected void operation() { System.out.println("The operation action is executed in the method of ServiceA instance! "); } } public class TempletTest { public static void main(String[] args) { Templete templete = new TempleteImpl(); templete.topOperation(); } }
4.应用场景:
1) 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。
2) 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。
相关文章推荐
- Java设计模式透析之 —— 模板方法(Template Method)
- Java之模板方法模式(Template Method)
- Java设计模式——模板方法模式(TEMPLATE METHOD PATTERN)
- Java设计模式—模板方法(Template Method)
- Java设计模式之模板方法模式(Template Method)
- Java设计模式之一——模板方法设计模式(Template Method)
- Java设计模式之模板方法模式(Template Method)
- Java设计模式透析之 —— 模板方法(Template Method)
- java设计模式-模板方法模式(Template Method)
- Java模板方法模式(Template Method)
- Java设计模式七:模板方法(Template Method)
- Java设计模式透析之 —— 模板方法(Template Method)
- Java设计模式透析之 —— 模板方法(Template Method)
- Java设计模式之十:模板方法模式(Template Method)
- Java设计模式透析之 —— 模板方法(Template Method)
- Java面向对象设计模式(十四)——模板方法模式(Template Method)
- java 策略模式 模板方法 (Template method) 示例
- Java设计模式透析之 —— 模板方法(Template Method)
- (Template Method)模板方法模式的Java实现 推荐
- Java设计模式透析之 —— 模板方法(Template Method)