Template Method(模板方法)模式
2017-05-27 00:00
148 查看
1、介绍
Template Method模式:在父类中定义处理流程的框架,在子类中实现具体处理的模式。2、例子类图
3、代码例子
AbstractDisplay:抽象模板类package me.jtzen9.template_method; public abstract class AbstractDisplay { public abstract void open(); public abstract void print(); public abstract void close(); public final void display() { open(); for (int i = 0; i < 5; i++) { print(); } close(); } }
CharDisplay:具体实现类
package me.jtzen9.template_method; public class CharDisplay extends AbstractDisplay { private char ch; public CharDisplay(char ch) { this.ch = ch; } @Override public void open() { System.out.println("<<"); } @Override public void print() { System.out.println(ch); } @Override public void close() { System.out.println(">>"); } }
StringDisplay:具体实现类
package me.jtzen9.template_method; public class StringDisplay extends AbstractDisplay { private String string; private int width; public StringDisplay(String string) { this.string = string; this.width = string.getBytes().length; } @Override public void open() { printLine(); } @Override public void print() { System.out.println("|" + string + "|"); } @Override public void close() { printLine(); } private void printLine(){ System.out.print("+"); for (int i = 0; i < width; i++) { System.out.print("-"); } System.out.println("+"); } }
测试代码:
package me.jtzen9.template_method; public class Main { public static void main(String[] args) { AbstractDisplay d1 = new CharDisplay('H'); AbstractDisplay d2 = new StringDisplay("Hello,world."); d1.display(); d2.display(); } }
3、说明
摘至:【日】结城浩/著,杨文轩/译 .《图解设计模式》 北京:人民邮电出版社. 2017. 13~22相关文章推荐
- 设计模式学习笔记(二十四)——Template Method模板方法
- 行为型模式-模板方法模式(Template Method)
- 模板方法模式 :Template Method(转自LoveCherry)
- 第三十三章 模板方法模式(Template Method)
- 模板方法(Template Method)-----类行为型模式
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 解读设计模式----模板方法模式(Template Method),电脑就是这样造出来的
- 14. Template Method模板方法(行为型模式)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式之模板方法模式(Template Method)
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式(12)-模板方法模式(Template Method)
- 模板方法模式(Template Method Pattern)学习笔记
- 模板方法模式(Template Method Pattern)
- 模板方法(Template Method)模式
- 行为模式 - 模板方法(Template Method)
- 模板方法模式(Template Method)
- C#面向对象设计模式纵横谈 学习笔记14 Template Method模板方法(行为型模式)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 模板方法(Template Method)模式