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

前言

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

代码

csharp 复制代码
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();
     }
 }

运行结果

相关推荐
Old Uncle Tom42 分钟前
Agent 技能的五种设计模式
设计模式
祁_z2 小时前
【ReACT 设计模式】(思考 - 行动 - 观察)
设计模式
Makoto_Kimur3 小时前
Spring用了哪些设计模式?
java·spring·设计模式
新缸中之脑3 小时前
用Claude for Word审查法律合同
开发语言·c#·word
xuxie993 小时前
N27 数据库UI
linux·c#
sg_knight4 小时前
设计模式实战:中介者模式(Mediator)
microsoft·设计模式·中介者模式
geovindu4 小时前
go: Prototype Pattern
开发语言·设计模式·golang·原型模式
唐青枫4 小时前
C#.NET TaskCompletionSource 深入解析:手动控制 Task、桥接回调事件与实战避坑
c#·.net
张人玉4 小时前
VisionPro 药物检测工具 学习笔记
算法·c#·机器视觉·vsionpro
我爱cope4 小时前
【从0开始学设计模式-11| 外观模式】
microsoft·设计模式·外观模式