C#模板方法模式(Template Method Pattern)实例教程
作者:shichen2014 时间:2022-09-12 02:59:23
本文以一个简单的实例形式讲述了C#模板方法模式的实现方法,分享给大家供大家参考。具体实现方法如下:
这里假设要做一道红烧肉,做法有很多,在不同的做法中都有相同的部分,比如都要放油、放肉、放调料等。也有不同之处,比如有些做法放可乐,有些做法放甜蜜酱,等等。
先提炼出一个抽象类,该类不仅有制作红烧肉的各个步骤,而且还把各个步骤归纳到另一个方法,我们把这个方法称作模版方法。另外,在模版方法中,对于一些不确定的方面先用抽象方法。
public abstract class HongShaoRou
{
public void MakeHongShaoRou()
{
You();
Rou();
Others();
TiaoLiao();
}
public void You()
{
Console.WriteLine("放入油");
}
public void Rou()
{
Console.WriteLine("放入肉");
}
public abstract void Others();
public void TiaoLiao()
{
Console.WriteLine("放入调料");
}
}
假如,有一种"四川红烧肉"是放芝麻酱的。
public class SiChuangHongShaoRou : HongShaoRou
{
public override void Others()
{
Console.WriteLine("放入芝麻酱");
}
}
客户端只要调用抽象类的模版方法就可以。
class Program
{
static void Main(string[] args)
{
HongShaoRou hongShaoRou = new SiChuangHongShaoRou();
hongShaoRou.MakeHongShaoRou();
Console.ReadKey();
}
}
希望本文所述对大家C#程序设计的学习有所帮助。
标签:C#,模板,方法,模式
0
投稿
猜你喜欢
Java运算符从见过到掌握下
2023-01-29 15:47:19
Spring BeanFactory 与 FactoryBean 的区别详情
2023-12-23 02:51:46
android简单自定义View实现五子棋
2023-06-01 19:30:38
在spring中实例化bean无效的问题
2022-03-16 17:55:34
Java开启JMX远程监控服务配置
2021-11-02 01:14:43
spring boot整合RabbitMQ实例详解(Fanout模式)
2022-08-18 18:52:30
Java基于深度优先遍历的随机迷宫生成算法
2022-06-01 22:18:50
条件数据库Android:sqllite的简单使用
2023-07-11 15:39:24
SpringBoot中使用Redis Stream实现消息监听示例
2021-09-02 04:42:07
Android中Window添加View的底层原理
2021-07-15 06:13:05
SpringBoot下载Excel文件时,报错文件损坏的解决方案
2023-01-09 15:49:16
OpenCV中C++函数imread读取图片的问题及解决方法
2023-12-02 11:25:50
Flutter集成到已有iOS工程的方法步骤
2023-07-31 22:53:53
Java常量池知识点总结
2023-01-09 10:23:09
spring aop action中验证用户登录状态的实例代码
2021-12-04 19:47:01
Android TabHost如何实现顶部选项卡
2023-04-13 01:08:14
详解Docker学习笔记之搭建一个JAVA Tomcat运行环境
2022-09-03 02:26:06
Android中CountDownTimer 实现倒计时功能
2022-01-03 00:00:24
java定时任务Timer和TimerTask使用详解
2023-07-13 00:29:33
解决Maven本地仓库明明有对应的jar包但还是报找不到的问题
2022-07-21 23:12:07