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

embedded/2025/1/16 18:40:50/

前言

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

代码

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.ppmy.cn/embedded/154454.html

相关文章

使用 Docker 在 Alpine Linux 下部署 Caddy 服务器

简介 在现代 web 开发中,选择合适的 web 服务器至关重要。Caddy 是一个功能强大的现代化 HTTP/2 服务器,支持自动 HTTPS,配置简单,适合开发和生产环境。Docker 则为我们提供了一种轻量级的容器化技术,使得应用程序的部…

arcgis三调符号库的使用

1、下载好三调符号库,如下: 2、将.ttf复制到如下路径: 3、把.style文件复制到arcgis的安装路径下的Style文件夹下,如下: 4、打开arcgis软件,添加样式,如下: 5、加载地类数据&#xf…

ARM与x86:架构对比及其应用

典型的服务器架构的x86采用模块化方法,基于带有可更换组件的主板。CPU和其他组件(如显卡和GPU、内存控制器、存储或处理核心)针对特定功能进行了优化,可以轻松更换或扩展。然而,这种便利是有代价的;这些硬件…

python爬虫笔记

urllib库的使用 GET请求 首先,获取网页源码需要模拟浏览器的访问行为对网页进行请求,即使用urllopen打开对应的请求,而请求需要定制一个请求对象,该对象需要统一资源定位器url和请求头headers进行构造,headers可查询…

【CSS】 ---- CSS 实现图片随鼠标移动局部放大特效

1. 效果【京东商品放大特效】 2. 实现方法 2.1 JS 实现 创建原图片的盒子,并放入原图片;创建需要放大区域的遮罩块;创建显示放大后图片显示的盒子和盒子内放大的图片;给原图绑定移出移入和鼠标移动的监听事件;移入和…

【开源免费】基于SpringBoot+Vue.JS公司日常考勤系统(JAVA毕业设计)

本文项目编号 T 134 ,文末自助获取源码 \color{red}{T134,文末自助获取源码} T134,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

32单片机从入门到精通之测试与验证——单元测试(十五)

人生苦短,我们都会面临困难和挑战。但是,只要我们保持积极的心态和勇往直前的精神,我们就能战胜一切困难,实现自己的目标。 成功并不是一蹴而就的,它需要我们付出努力和坚持不懈。就像爬山一样,我们可能会遇…

什么是 DNS?DNS 的三种查询方式?

1. DNS是什么 DNS(Domain Names System),域名系统,是互联网一项服务,是进行域名和与之相对应的 IP 地址进行转换的服务器。 简单来讲,DNS相当于一个翻译官,负责将域名翻译成ip地址。 域名是一…