C#设计模式之---模板方法模式

news/2024/11/29 7:45:21/

模板方法模式(Template Method Pattern)

模板方法模式(Template Method Pattern)定义了一个算法的步骤,并允许子类为一个或多个步骤提供其实现方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。模板方法模式是比较简单的一种设计模式,作为模板的方法要定义在父类中,在方法的定义中使用到抽象方法,而只看父类的抽象方法是根本不知道怎样处理的,实际做具体处理的是子类,在子类中实现具体功能,因此不同的子类执行将会得出不同的实现结果,但是处理流程还是按照父类定制的方式。这就是模板方法的要义所在,制定算法骨架,让子类具体实现。模板方法设计模式是一种行为型模式。

using System;
using System.Text;
namespace ConsoleApplication
{//一般每个接口或类都写在单独的.cs文件中//本示例为了执行查看方便才写在一起  public abstract class Player//模板{//骨架protected abstract void Start();protected abstract void Move();protected abstract void Stop();public void Run(){Start();//延迟到子类Move();Stop();}}public class PlayerA : Player//实现模板方法1{protected override void Start(){Console.WriteLine("玩家A开始运行....");}protected override void Move(){Console.WriteLine("移动.......");}protected override void Stop(){Console.WriteLine("停止运行.....");}}public class PlayerB : Player//实现模板方法1{protected override void Start(){Console.WriteLine("玩家B开始运行....");}protected override void Move(){Console.WriteLine("移动.......");}protected override void Stop(){Console.WriteLine("停止运行.....");}}class Program{static void Main(string[] args){Player p1 = new PlayerA();p1.Run();Player p2 = new PlayerB();p2.Run();Console.ReadKey();}}
}

 


http://www.ppmy.cn/news/888717.html

相关文章

在vs里配置c运行环境

勾选环境包 勾选完安装就好 创建c项目 选择相关配置 设置名称和位置 创建c后缀文件 一新建项 二设置名字 输出hello world 代码段 运行结果

35 用户虚拟地址空间的 堆栈区间初始化

前言 对于用户程序来说, 堆栈区间 是一个很重要的组成部分, 这部分核心用于支持 函数调用, 参数暂存, 局部变量的存储 等等 我们这里 就来看一下 这块空间 的初始化的相关情况 这里会结合 内核进行调试, 以及 内存中的数据进行分析 堆栈空间的初始化 stack_base, stack_…

linux - bc 命令安装

一.引言 迁移新机器后发现没有 bc 命令,之前 shell 脚本的一些计算逻辑会出错,下面快速安装一下。 二.安装 bc 请确保在 root 权限下执行该命令: sudo yum install bc 出现下述界面即安装成功: 三.测试 bc 测试下脚本里 % 的…

php抓取网站链接,PHP批量获取网页中所有固定种子链接的方法

本文实例讲述了PHP批量获取网页中所有固定种子链接的方法。分享给大家供大家参考,具体如下: 经常的下载链接比较多的时候,就像一次性将所有的链接添加到迅雷或者电炉,但是没有在这种选项,怎么办,咱是PHPer啊…

基于Win10的Tensorflow-GPU的快捷安装

最近放假在家,闲来无事,正好发了点零花钱,配置了一台RTX 2070s显卡的电脑。新电脑要配置一下环境,于是在网上找了很多大神的攻略来试试安装Tensorflow_GPU。 1.常规思路 首先假设你的电脑没有安装过任何环境,那么按照…

mac安装win10_释放你的Mac潜力,轻松安装Win10系统

现在很多UI设计师使用Mac作为自己的工作平台。除了一些Mac独有的软件,比如Sketch、Paste、MindNode之外,人性化的交互方式、精细的Retina屏幕、高效率的操作都让Mac成为设计师的首选。 不过也会造成一个现象,就是会形成对Win的鄙视链,貌似去星巴克必须带MBP才是正确的打开方…

迅雷全面解析

(http://big5.ifeng.com/gate/big5/bbs.ifeng.com/viewthread.php?tid3589373&extrapage-ifbase4-base8-JTNEMQ~~) 迅雷作為國內下載工具巨頭,擁有龐大的用戶群。迅雷以下載速度快而著稱,許多人稱迅雷是一款跨時代的產品。但是,你真的了…

OpenWrt安装迅雷成功,实现BT emule等多协议下载

最近刚刚入手一个wr841n v3 已经修改8M flash 64M内存,USB电流也加大了一些。 研究了几天脱机下载,发现还是很悲剧的。除非热门的种子,不然BT直接没有速度,电驴也是。 既然是linux就有装迅雷的可能性,于是就有下文 …