设计模式-模板模式

模板设计模式

定义

在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。

简单来说,有多个子类共有的方法,且逻辑相同,可以考虑作为模板方法。

模板的价值就在于骨架的定义,骨架内部将问题处理的流程已经定义好,通用的处理逻辑一般由父类实现,个性化的处理逻辑由子类实现。比如炒土豆丝和炒麻婆豆腐,大体逻辑都是1.切菜,2.放油,3.炒菜,4.出锅,1,2,4都差不多,但是第3步是不一样的,炒土豆丝得拿铲子翻炒,但是炒麻婆豆腐得拿勺子轻推,否则豆腐会烂。

使用场景

不同场景的处理流程,部分逻辑是通用的,可以放到父类中作为通用实现,部分逻辑是个性化的,需要子类去个性实现。

实践经验

有个需求是用户扫码支付以后向档口的收银设备推送一条支付消息,收银设备收到消息以后会进行语音播报,逻辑很简单ÿ

相关推荐

  1. 设计模式-模板方法模式

    2024-04-24 09:40:04       65 阅读
  2. 设计模式模板方法模式

    2024-04-24 09:40:04       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 09:40:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 09:40:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 09:40:04       82 阅读
  4. Python语言-面向对象

    2024-04-24 09:40:04       91 阅读

热门阅读

  1. Redis基础应用篇-快速面试笔记(速成版)

    2024-04-24 09:40:04       95 阅读
  2. AtCoder Beginner Contest 146 C - Buy an Integer

    2024-04-24 09:40:04       145 阅读
  3. Golang中实现类似类与继承的方法

    2024-04-24 09:40:04       35 阅读
  4. Go语言切片

    2024-04-24 09:40:04       36 阅读
  5. Qt MSVC编译器中文字符串编译报错及乱码问题

    2024-04-24 09:40:04       36 阅读
  6. 从 Newtonsoft.Json 迁移到 System.Text.Json

    2024-04-24 09:40:04       33 阅读