首页 > 其他分享 >【设计模式】模板方法

【设计模式】模板方法

时间:2023-03-16 16:56:23浏览次数:37  
标签:子类 com https 设计模式 方法 模板

1.模板方法(Template Method)的定义

模板方法模式是一种行为设计模式,它在超类中定义一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。

模板是对多种事物的结构、形式、行为的模式化总结,而模板方法模式(Template Method)则是对一系列类行为(方法)的模式化。我们将总结出来的行为规律固化在基类中,对具体的行为实现则进行抽象化并交给子类去完成,如此便实现了子类对基类模板的套用。

2.模板方法的结构(转自:https://www.cnblogs.com/netxiaohui/p/15183079.html)

  • 1、抽象类

声明作为算法步骤的方法,以及依次调用它们的实际模板方法。

算法步骤可以被声明为抽象类,默认提供一些实现。

  • 2、具体类

实现抽象方法的类,重写所有步骤,但不能重写模板方法自身。

3.模板方法的适用场景

 

 

 

参考文章:

https://zhuanlan.zhihu.com/p/566870552

https://www.cnblogs.com/netxiaohui/p/15183079.html

标签:子类,com,https,设计模式,方法,模板
From: https://www.cnblogs.com/YorkZhangYang/p/17223266.html

相关文章

  • MasaFramework入门第二篇,安装MasaFramework了解各个模板
    安装MasaFramework模板执行以下命令安装最新Masa的模板dotnetnew--installMasa.Template安装完成将出现四个模板MasaBlazorApp:MasaBlazorApp的模板创建的是......
  • 求组合数的几种方法
    引入在做题时,经常会遇到需要计算从\(n\)个物品中选择\(m\)个的方案数的情况。我们就需要用到计算组合数的公式:\(\large{C_m^n}=\dfrac{n!}{(n-m)!m!}\)。这篇文章......
  • Python中列表去重常用的3种方法!
    在Python中,列表去重的方法有很多种,其中比较常用的方法有3种:1、利用字典的【fromkeys()】和【keys()】方法去重;2、集合的可迭代方法;3、用for循环。这3种方法希望大家可......
  • JSON的常用方法
    1、JSON.parse()JSON.parse()可以将JSON格式的字符串解析或成JS中的对应值       2、JSON.stringify() JSON.stringify()可以将JS的基本数据类型、对......
  • 设计模式之装饰者模式,奶茶店场景
    //Seehttps://aka.ms/new-console-templateformoreinformationusingSystem.Drawing;/*装饰者模式,不改变实现类的情况下,动态给实现类增加新功能,这里使用聚合......
  • 设计模式1——单例模式
    单例模式:在使用构造函数时,保证全局只有一个new出来的对象,后续无论如何调用,都是显示为第一次构造的对象;需更改内部属性,可以通过提供函数接口更改核心:确保只有一个实例,并......
  • commons-io的Java文件处理常用方法
    Java文件处理常用方法归纳整理一些常用的处理文件的方法JavaApacheFileUtilsMaven依赖引入<dependency><groupId>commons-io</groupId><artif......
  • 三种判断方法
    ifelse:用于两种情况的判断。 if esleif:用于处理多条件的区间性判断,else永远跟离它最近的那个if配对。Console.WriteLine("请输入学员的考试成绩")......
  • 25-设计模式总结
    25-设计模式总结分类设计模式可以分为3类:创建型模式结构型模式行为型模式创建型模式抽象工厂模式提供一个创建一系列或相关依赖对象的接口,而无需指定他们具体的类......
  • Ubuntu长按shift键开机不能进入grub选项界面的解决方法
    1.长按esc键,进入grub>命令行2.输入normal,按回车键。此时会进入操作系统,需要手动重启。3.重启,长按esc键,有2种情况:(1)直接进入grub选项界面(2) 再次进入grub>命令行,此......