设计模式之 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();
 }
}

有了这个模版,不同的人可以根据自己的喜好灵活采用不同的方法,达到最终的目的。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子爱动手打家长怎么办 不小心有了孩子该怎么办 2岁多宝宝干咳怎么办 2岁宝宝咳嗽无痰怎么办 打了孩子后悔了怎么办 12小孩脾气很犟怎么办 被学生气着了怎么办 1岁宝宝轻微咳嗽怎么办 4岁宝宝突然呕吐怎么办 4岁儿童突然呕吐怎么办 四岁儿童90身高怎么办 24个月宝宝缺钙怎么办 狗狗总是要人陪着玩怎么办 成年了还是很皮怎么办 三岁儿子太调皮怎么办 10个月宝宝粘人怎么办 6个月宝宝粘人怎么办 9个月宝宝偏矮怎么办 1岁宝宝粘人爱哭怎么办 宝宝2岁半胆小怎么办 5岁宝宝超级粘人怎么办 狗狗吃饭要人喂怎么办 十个月宝宝认人怎么办 一岁宝宝粘人怎么办 9个月宝宝粘妈妈怎么办 一岁的宝宝呕吐怎么办 宝宝一岁八个月太粘人了怎么办 六个月的宝宝好粘人怎么办 两岁半宝宝说话突然结巴了怎么办 1岁宝宝突然呕吐怎么办 宝宝吃坏了呕吐怎么办 1岁宝宝吃饭爱玩怎么办 7岁儿童半夜呕吐怎么办 一个月宝宝粘人怎么办 2岁宝宝太粘人了怎么办 8个月宝宝很粘人怎么办 7个月宝宝呕吐是怎么办 一个月婴儿粘人怎么办 八个月小孩粘人怎么办 一岁的宝宝粘人怎么办 六个月宝宝粘人爱哭怎么办