码迷,mamicode.com
首页 > 其他好文 > 详细

模板方法模式(Template Method Pattern)

时间:2019-01-07 00:18:58      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:复用   包含   茶叶   一个   class   ons   模板   实现   color   

模板方法模式:

  (就是在抽象基类中定一个复用的方法!)

  在一个方法中定一个算法的骨架,而将一些步骤延迟到子类中。

  模板方法使得子类可以再不改变算法结构的情况下,重新定义算法中的某些步骤。

 

实例:

  泡茶的步骤分别:

    1、把水煮开

    2、用开水冲泡茶叶

    3、把茶倒进杯子里

    4、加柠檬

  泡咖啡的步骤为:

    1、把水煮开

    2、用开水冲泡咖啡

    3、把咖啡倒进杯子里

    4、加糖

  泡茶和泡咖啡的流程基本相似,所以可以放在一起,用下面的这个过程实现。

    1、把水煮开

    2、用开水冲泡

    3、倒进杯子里

    4、加调料

  把这么这一个步骤封装成一个方法,这个方法就是模板方法。

void blunkDrinks()
{
     // 依次是每个步骤  
     boilWater();     
     brew();
     pourIncup();
     addConditions();
}
void
boilWater()
{
  // 具体实现
}
void addCondition()
{
  // 具体实现
}

abstract void brew();  // 抽象方法,在对应的茶或咖啡类中具体实现
abstract void addConditions();  // 抽象方法,在对应的茶或咖啡类中具体实现

 

原理:

  1、抽象出一个抽象类,在这个类里面实现一个模板方法

  2、模板方法里面包含一系列步骤(一系列方法),共用方法在抽象类中实现,特殊方法在子类中实现

 

应用实例:

  JAVA Swing

 

 

 

 

 

 

  

模板方法模式(Template Method Pattern)

标签:复用   包含   茶叶   一个   class   ons   模板   实现   color   

原文地址:https://www.cnblogs.com/Mr-Wenyan/p/10230934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!