C#模板方法模式(Template Method Pattern)实例教程

 更新时间:2014年09月12日 16:07:34   投稿:shichen2014  
这篇文章主要介绍了C#模板方法模式(Template Method Pattern),以实例形式讲述了C#抽象类模板方法的用法,具有很高的实用价值,需要的朋友可以参考下

本文以一个简单的实例形式讲述了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#开发浏览器扩展的全过程记录

    利用C#开发浏览器扩展的全过程记录

    做web开发的同学,经常会用到各种chrome浏览器插件,那么我们寄几怎么开发一个插件呢(其实是浏览器扩展)?这篇文章主要给大家介绍了关于利用C#开发浏览器扩展的相关资料,需要的朋友可以参考下
    2021-07-07
  • C#设计模式之策略模式

    C#设计模式之策略模式

    这篇文章介绍了C#设计模式之策略模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 分享C#操作内存读写方法的主要实现代码

    分享C#操作内存读写方法的主要实现代码

    这篇文章介绍了C#操作内存读写方法的主要实现代码,下面让我们来看看具体的实例实现,有需要的朋友可以参考一下
    2013-08-08
  • C#实现五子棋游戏

    C#实现五子棋游戏

    这篇文章主要为大家详细介绍了C#实现五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • winform去掉右上角关闭按钮的方法

    winform去掉右上角关闭按钮的方法

    这篇文章主要介绍了winform去掉右上角关闭按钮的方法,需要的朋友可以参考下
    2014-02-02
  • C#验证码识别类完整实例

    C#验证码识别类完整实例

    这篇文章主要介绍了C#验证码识别类,以一个完整实例形式较为详细的分析了验证码图片处理所涉及的各种常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#检测两个矩阵是否相等的方法

    C#检测两个矩阵是否相等的方法

    这篇文章主要介绍了C#检测两个矩阵是否相等的方法,涉及C#进行数组操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#判断某程序是否运行的方法

    C#判断某程序是否运行的方法

    这篇文章主要介绍了C#判断某程序是否运行的方法,代码结构简单功能实用,需要的朋友可以参考下
    2014-09-09
  • C#实现Excel转PDF时设置内容适应页面宽度

    C#实现Excel转PDF时设置内容适应页面宽度

    将Excel转为PDF格式时,通常情况下转换出来的PDF页面都是默认的宽度大小。所以本文提供了C#实现Excel转PDF时设置内容适应页面宽度的示例代码,需要的可以参考一下
    2022-04-04
  • 浅析WPF中ToolTip工具提示的应用

    浅析WPF中ToolTip工具提示的应用

    在日常应用中,当鼠标放置在某些控件上时,都会有相应的信息提示,从软件易用性上来说,这是一个非常友好的功能设计,本文就来和大家简单聊聊WPF中ToolTip工具提示的相关使用,有兴趣的可以了解下
    2023-12-12

最新评论