当前位置: 首页 > article >正文

【C#设计模式(23)——模板方法模式(Template Method Pattern)】

前言

在抽象类中封装算法的结构,具体的实现步骤由子类定义,从而达到不改变算法结构的,允许子类重定义方法内容。

代码

public abstract class Teamplate
{
    public void TeamplateMethod()
    {
        Step1();
        Step2();
        Step3();
    }
    protected abstract void Step1();
    protected abstract void Step2();
    protected abstract void Step3();
}
public class ConcreteTemplate : Teamplate
{
    protected override void Step1()
    {
        Console.WriteLine("Step1");
    }

    protected override void Step2()
    {
        Console.WriteLine("Step2");
    }

    protected override void Step3()
    {
        Console.WriteLine("Step3");
    }
}

 /*
  * 行为型模式:Behavioral Pattern
  * 模板方法模式:Template Method Pattern
  */
 internal class Program
 {
     static void Main(string[] args)
     {
         Teamplate teamplate = new ConcreteTemplate();
         teamplate.TeamplateMethod();
         Console.ReadLine();
     }
 }

运行结果

在这里插入图片描述


http://www.kler.cn/a/504306.html

相关文章:

  • pytorch张量分块投影示例代码
  • 流批一体计算引擎-18-离线和实时缝合成的流批一体缘何成为主流
  • GitLab本地服务器配置ssh和克隆项目
  • 【Unity高级】一文了解Unity 中的条件编译(附所有指令)
  • 前端:前端开发任务分解
  • Apache JMeter 压力测试使用说明
  • toJSON使用中遇到的问题
  • c语言 --- 字符串
  • 马氏距离分类器:考虑特征相关性的分类方法
  • vue+element-ui做的前端模糊查询
  • win10安装anaconda环境与opencv
  • 【Redis】初识分布式系统
  • 项目练习:若依管理系统字典功能-Vue前端部分
  • (NAACL-2024 Oral)LoRETTA:低秩经济张量训练自适应,用于大型语言模型的超低参数微调
  • lammps应用于能源材料
  • [笔记] MyBatis-Plus XML 配置详解:从基础到高级,全面提升开发效率
  • idea无法下载源码
  • 逐“绿”前行 企业综合能源管控低碳转型如何推进?
  • Linux服务器网络丢包场景及解决办法
  • HDFS迁移distcp,源端数据新增,致迁移失败处理
  • python3GUI--大屏可视化-XX产业大数据指挥舱(附下载地址) By:PyQt5
  • LeetCode:39. 组合总和
  • FLASK创建下载
  • No.1|Godot|俄罗斯方块复刻|棋盘和初始方块的设置
  • 自动生成数据:SQLark 让数据测试更高效
  • 自定义封装进度条标签