Template Method Pattern,父类指定处理大纲,子类规定具体内容的设计模式叫做模版方法模式。
下面的示例是反复输出5次同一个字符或字符串。
表3-1 类一览表
名称 |
说明 |
AbstractDisplay |
只是现方法display的抽象类 |
CharDisplay |
实现方法open,print,close的类 |
StringDisplay |
实现方法open,print,close的类 |
Main |
测试类 |
AbstractDisplay 抽象类
- 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();
- }
- }
CharDispaly类
- public class CharDisplay extends AbstractDisplay {
- private char ch;
- public CharDisplay(char ch) {
- this.ch = ch;
- }
- public void open() {
- System.out.print("××");
- }
- public void print() {
- System.out.print(ch);
- }
- public void close() {
- System.out.print("××");
- }
- }
StringDispaly 类
- public class StringDisplay extends AbstractDisplay {
- private String string;
- private int width;
- public StringDisplay(String string) {
- this.string = string;
- this.width = string.getBytes().length; }
- public void open() {
- printLine();
- }
- public void print() {
- System.out.print("|"+string+"|");
- }
- public void close() {
- printLine(); }
- private void printLine() {
- System.out.print("+");
- for(int i = 0 ;i < width ; i++) {
- System.out.print("--");
- }
- System.out.println("+");
- } }
Main测试类
- public class Main {
- public static void main(String[] args) {
- AbstractDisplay d1 = new CharDisplay('H');
- AbstractDisplay d2 = new StringDisplay("Hello,World!");
- d1.display();
- d2.display();
- }
- }
分享到:
- 2007-01-17 11:50
- 浏览 2188
- 评论(2)
- 论坛回复 / 浏览 (2 / 3519)
- 查看更多
相关推荐
模板方法模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在C++这样的面向对象编程语言中。这种模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的...
模板方法模式(Template Method Pattern)是一种行为型设计模式,它允许我们定义算法的骨架,并将部分步骤推迟到子类中实现。这种模式使得子类可以在不改变算法结构的情况下重新定义算法的某些步骤。 #### 模式背景...
模板方法模式(Template Pattern)是设计模式中行为型模式的一种,它定义了操作中的算法骨架,而将一些步骤延迟到子类中。这种模式允许子类重新定义或改变某些基本操作,但整体结构和顺序保持不变。在Java编程中,...
TemplateMethod Pattern.unitypackage是一个模板方法模式的小栗子。
模板方法模式(Template Method Pattern)在Google Android框架中的应用是一个重要的设计模式实例,它允许开发者定义一个算法骨架,而将一些步骤延迟到子类中。这个模式的关键在于它定义了一个操作中的算法步骤,并...
9、模板方法模式TEMPLATE METHOD PATTERN 10、建造者模式BUILDER PATTERN 11、桥梁模式BRIDGE PATTERN 12、命令模式COMMAND PATTERN 13、装饰模式DECORATOR PATTERN 14、迭代器模式ITERATOR PATTERN 15、组合...
模板方法模式(Template Method Pattern)是一种行为设计模式,它允许在定义算法的框架时,将具体步骤延迟到子类中。这种模式的核心在于抽象类,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。子类可以...
本文实例讲述了Python设计模式之模板方法模式。分享给大家供大家参考,具体如下: 模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的...
1. 模板方法模式(Template Method Pattern):在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。 2. 命令模式(Command Pattern):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化...
包括策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、迭代器模式(Iterator)、访问者模式(Visitor)、责任链模式(Chain of Responsibility)、命令模式(Command)、备忘录模式...
模板方法模式(Template Method Pattern)是一种行为设计模式,它允许在父类中定义算法的框架,然后由子类提供具体的实现。这种模式的核心是“模板方法”,它在父类中定义了一个操作的步骤顺序,并将某些步骤声明为...
模板方法模式是行为设计模式的一种,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这有助于保持代码结构的一致性,同时允许子类定制...
23种设计模式(Design Pattern)的C++实现范例,包括下面列出的各种模式,代码包含较详细注释。另外附上“设计模式迷你手册.chm” 供参考。 注:项目在 VS2008 下...模板方法模式(Template Method) 访问者模式(Visitor)
设计模式——模板方法模式模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤使用场景:当不变和可...
工厂方法模式(Factory Method Pattern) 观察者模式(Observer Pattern) 建造者模式(Builder Pattern) 解释器模式(Interpreter Pattern) 命令模式(Command Pattern) 模板方法模式(Template Method Pattern) 桥接模式...
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式: 工厂方法模式(Factory Method Pattern) 抽象工厂模式... 模板方法模式(Template Method Pattern) 访问者模式(Visitor Pattern)
模板方法(Template Method) 14. 命令模式(Command Pattern) 15. 迭代器模式(Iterator Pattern) 16. 观察者模式(Observer Pattern) 17. 解释器模式(Interpreter Pattern) 18. 中介者模式(Mediator Pattern) 19. ...
模板方法模式(TEMPLATE METHOD PATTERN) 模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,并将一些步骤延迟到子类中。模板方法模式可以帮助开发者编写更加灵活的代码,以提高系统的可维护性。例如,...
1. 模板方法模式(Template Method Pattern):在一个方法中定义一个算法的骨架,将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些特定步骤。 2. 中介者模式...