当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-11-03

    本文导语:  本文以一个简单的实例形式讲述了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#程序设计的学习有所帮助。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c++模板(Template)介绍及模板参数中包含模版
  • PHP模板引擎 Template Lite
  • C++可变参数模板(variadic template)详细介绍及代码举例
  • PHP模板引擎 FXL Template
  • c++通用模板类(template class)定义实现详细介绍
  • jQuery FAQ 模板 FAQ Template
  • c++模板(template)中的class和typename关键字异同比较
  • PHP模板引擎 ns-template
  • C++反射模板库 Template Reflection Library
  • web模板语言 jpc-template
  • Java 模板引擎 jetbrick-template
  • C++ STL标准模板库类String成员详细列表参考及示例代码
  • PHP模板引擎 费尔模板引擎
  • Destoon模板怎么制作?destoon模板制作简单教程
  • 关于模板类局部特化的错误:模板参数太少。
  • Java模板引擎 Snippetory
  • 网页模板引擎 Jenner
  • 多脚本语言模板引擎 Tenjin
  • 模板引擎 JET
  • destoon公司主页模板风格的添加方法
  • 费尔PHP模板引擎
  • JavaScript模板引擎 ECT
  • 模板配置系统 CoreTML
  • PHP模板语言 Twig
  • 模板引擎 ETPL
  • JS模板引擎 BaiduTemplate
  • JavaScript模板引擎 EasyTemplate
  • JS模板引擎 Trimpath
  • JavaScript 模板引擎 Elapse
  • C++类模板与模板类深入详解
  • JavaScript 模板引擎 templayed.js


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3