zoukankan      html  css  js  c++  java
  • 模板方法模式(Template Method Pattern)

    模板方法模式:

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

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

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

    实例:

      泡茶的步骤分别:

        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

      

  • 相关阅读:
    WikiPedia技术架构学习笔记
    MySQL 架构设计篇 (十二) 可扩展设计的基本原则
    php前端控制器二
    php前端控制器三
    构建可扩展的WEB站点读书笔记
    发布脚本开发框架代码
    改良dbgrideh的文字过滤
    cxgrid在当前View插入记录
    生成不重复单据编号
    cxgrid按条件计算合计值
  • 原文地址:https://www.cnblogs.com/Mr-Wenyan/p/10230934.html
Copyright © 2011-2022 走看看