设计模式的应用场景(13)--模板方法模式
2017-08-29 19:55
561 查看
模板方法模式
定义:定义一个算法的骨架,而将具体的算法延迟到子类中实现优点:灵活地实现具体的算法,满足用户灵活多变的需求。
缺点:算法骨架需要改变时需要修改抽象类。
使用时机:当系统中算法的骨架是固定的时候,而算法的实现可能有很多种的时候,就需要使用模板方法模式。
小巩需要做一个报表打印程序,用户规定需要表头,正文,表尾。但是客户的需求会变化,一会希望这样显示表头,一会希望那样显示。
这时候采用模板方式就合适。
public abstract class Report { public void print() { printTitle(); printBody(); printTail(); } //打印表头 public abstract void printTitle(); //打印正文 public abstract void printBody(); //打印表尾 public abstract void printTail(); } public class ReportImpl extends Report { //打印表头 public void printTitle() { System.out.println("采用一种方式打印表头"); } //打印正文 public void printBody() { System.out.println("采用一种方式打印正文"); } //打印表尾 public void printTail() { System.out.println("采用一种方式打印表尾"); } } public class ReportImpl1 extends Report { //打印表头 public void printTitle() { System.out.println("采用另外一种方式打印表头"); } //打印正文 public void printBody() { System.out.println("采用另外一种方式打印正文"); } //打印表尾 public void printTail() { System.out.println("采用另外一种方式打印表尾"); } }
客户端调用代码,客户选择细节
public class Client { public static void main(String[] argv) { Report report = new ReportImpl1(); report.print(); } }
相关文章推荐
- Java设计模式应用——模板方法模式
- 快速入门过程与方法:设计与思路;如何学习新的知识框架,建立思维模式,熟悉应用场景体系
- 黑马程序员:ClassLoader介绍、自定义ClasLoader的应用及模板方法设计模式
- 【设计模式】—-(13)模板方法模式(行为型)
- [设计模式]模板方法模式(Template Method)---抽象类的常见应用
- 设计模式在游戏中的应用--模板方法(七)
- 常见设计模式的定义,应用场景和方法
- 浅学设计模式之模板<Template>方法模式及在android中的应用
- Java 设计模式之模板方法开发中应用
- 常见设计模式的定义,应用场景和方法
- 23种设计模式(13):模板方法模式
- 设计模式13:模板方法
- 设计模式在游戏中的应用--模板方法(七)
- 设计模式-13-模板方法模式
- android应用框架设计之模板方法设计模式
- Android设计模式应用-模板方法模式
- 走穿java23种设计模式--13模板方法模式详解
- 常见设计模式的定义,应用场景和方法
- 设计模式13:Template Method 模板方法模式(行为型模式)
- 设计模式--模板方法模式(照旧,有类关系图)