设计模式之 Template
来源:互联网 发布:篮网数据 编辑:程序博客网 时间:2024/05/16 12:04
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
例如:男孩子追求女孩子的步骤如下,取得联系,约见她,讨好她。但不同的人会用不同的方法去约见,有的人会打电话,有的人会发email;讨好的方式也不一样,有的人会送花,有的人会给女孩子唱歌。
package pattern;
abstract class PleaseGirl {
public abstract void contact();
public void meetGirl() {
System.out.println("I meet with her successfully.");
}
public abstract void pleaseGirl();
}
class Method1 extends PleaseGirl {
public void contact() {
System.out.println("I contact with her using phone.");
}
public void pleaseGirl() {
System.out.println("I present a bunch of flowers to her.");
}
}
class Method2 extends PleaseGirl {
public void contact() {
System.out.println("I contact with her using email.");
}
public void pleaseGirl() {
System.out.println("I sing a pop song to her.");
}
}
public class Template {
public static void main(String[] args) {
PleaseGirl a = new Method2();
a.contact();
a.meetGirl();
a.pleaseGirl();
}
}
有了这个模版,不同的人可以根据自己的喜好灵活采用不同的方法,达到最终的目的。
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之 Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template
- 设计模式之Template(1)
- 设计模式之Template(模版)
- J2EE设计模式之Template
- 设计模式(十二)之Template
- 设计模式之模板模式:Template模式
- JS运算符
- dll的分类
- vbs调用ActiveX的DLL的方法
- Linux:VI 替换命令
- hibernate+spring myeclipse小记
- 设计模式之 Template
- 进制转换
- 一个软件工程师的六年心得
- Extjs实现confirm对话框
- 用vbscript实现将脚本的输出复制到剪贴板
- 调用Win32 API netapi32.dll 实现UNC(网络共享)连接的管理(一)
- 如何确定正在运行脚本的文件夹的路径?
- CSS使用技巧
- DB2 catalog