1、模版方法就是定义一个抽象类,然后自己实现一个顶级的逻辑方法,在声明一些其余的细节的逻辑方法,这些方法细节的方法交给子类去实现。
2、uml图如下
3、java代码如下
public abstract class AbstractDisplay {
public void display() {
open();
for (int i = 0; i < 5; i++) {
print();
}
close();
}
public abstract void open();
public abstract void close();
public abstract void print();
}
public class CharDisplay extends AbstractDisplay {
private char thing;
public CharDisplay(char thing) {
this.thing = thing;
}
public void close() {
System.out.println(">>");
}
public void open() {
System.out.print("<<");
}
public void print() {
System.out.print(thing);
}
}
public class StringDisplay extends AbstractDisplay{
private String name;
public StringDisplay(String name) {
this.name = name;
}
public void close() {
System.out.println("------------------");
}
public void open() {
System.out.println("------------------");
}
public void print() {
System.out.println(name);
}
}
public class Main {
public static void main(String[] args) {
AbstractDisplay one = new CharDisplay('a');
AbstractDisplay two = new StringDisplay("aaaaaaaaaaaaa");
one.display();
two.display();
}
}
分享到:
相关推荐
Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现
设计模式C++学习之模板方法模式(Template Method)
C++设计模式课件3_Template Method_模板方法.pdf
C++设计模式代码资源3_Template Method_模板方法.zip
主要介绍了C++设计模式编程中Template Method模板方法模式的运用,讲到了包括模板方法模式中的细分方法以及适用场景,需要的朋友可以参考下
模板方法模式是一种行为设计模式,它在一个方法中定义算法的骨架,将一些步骤延迟到子类中实现。 具体来说,模板方法模式的关键特点包括: 抽象类:在抽象类中定义一个模板方法,该方法给出了算法的框架。 具体...
主要为大家详细介绍了C++设计模式之模板方法模式TemplateMethod,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
模板方法(TemplateMethod) 用意:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
C++设计模式笔记(03-02) – Template Method_模板方法(下): https://blog.csdn.net/mofan6930/article/details/104383750 参考书籍:《设计模式:可复用面向对象软件的基础》 参考课程:《C++设计模式》-李建忠 ...
Template Method.rarTemplate Method.rarTemplate Method.rarTemplate Method.rar模板设计模式
Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要。变化一直以来都是软件设计的永恒话题,在XP编程中提倡拥抱变化,积极应对。如何更好的去抓住变化点,应对变化?如何更好...
23种设计模式(Design Pattern)的C++实现范例,包括下面列出的各种模式,代码包含较详细注释。另外附上“设计模式迷你手册.chm” 供参考。 注:项目在 VS2008 下...模板方法模式(Template Method) 访问者模式(Visitor)
TemplateMethod Pattern.unitypackage是一个模板方法模式的小栗子。
介绍模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某
设计模式(21)-Template Method Pattern 204 一、 模板方法(Template Method)模式 204 二、 模版方法模式的结构 204 三、 模板方法模式的示意性代码 205 四、 继承作为复用的工具 207 五、 一个实际应用模板方法...
设计模式——模板方法模式模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤使用场景:当不变和可...
工厂方法模式(Factory Method Pattern) 观察者模式(Observer Pattern) 建造者模式(Builder Pattern) 解释器模式(Interpreter Pattern) 命令模式(Command Pattern) 模板方法模式(Template Method Pattern) 桥接模式...
第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式(Memento) 第20章 享元模式(Flyweight) 第21章 解释器模式(Interpreter) 第22章 装饰模式...
c++设计模式-行为型模式-模板方法模式;qt工程;c++简单源码; 模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重...