C#模板方法模式(Template Method Pattern)實例教程
更新時間:2014年09月12日 16:07:34 投稿:shichen2014
這篇文章主要介紹了C#模板方法模式(Template Method Pattern),以實例形式講述了C#抽象類模板方法的用法,具有很高的實用價值,需要的朋友可以參考下
本文以一個簡單的實例形式講述了C#模板方法模式的實現(xiàn)方法,分享給大家供大家參考。具體實現(xiàn)方法如下:
這里假設要做一道紅燒肉,做法有很多,在不同的做法中都有相同的部分,比如都要放油、放肉、放調料等。也有不同之處,比如有些做法放可樂,有些做法放甜蜜醬,等等。
先提煉出一個抽象類,該類不僅有制作紅燒肉的各個步驟,而且還把各個步驟歸納到另一個方法,我們把這個方法稱作模版方法。另外,在模版方法中,對于一些不確定的方面先用抽象方法。
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#中BitConverter.ToUInt16()和BitConverter.ToString()的簡單使用
這篇文章主要介紹了C#中BitConverter.ToUInt16()和BitConverter.ToString()的簡單使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02
C#使用Socket發(fā)送和接收TCP數(shù)據(jù)實例
這篇文章主要介紹了C#使用Socket發(fā)送和接收TCP數(shù)據(jù)的實現(xiàn)方法,以實例的形式詳細講述了C#實現(xiàn)socket通信的完整實現(xiàn)過程,非常具有實用價值,需要的朋友可以參考下2014-10-10

