C#模板方法模式(Template Method Pattern)實例教程
本文以一個簡單的實例形式講述了C#模板方法模式的實現(xiàn)方法,分享給大家供大家參考。具體實現(xiàn)方法如下:
這里假設(shè)要做一道紅燒肉,做法有很多,在不同的做法中都有相同的部分,比如都要放油、放肉、放調(diào)料等。也有不同之處,比如有些做法放可樂,有些做法放甜蜜醬,等等。
先提煉出一個抽象類,該類不僅有制作紅燒肉的各個步驟,而且還把各個步驟歸納到另一個方法,我們把這個方法稱作模版方法。另外,在模版方法中,對于一些不確定的方面先用抽象方法。
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("放入調(diào)料");
}
}
假如,有一種"四川紅燒肉"是放芝麻醬的。
public class SiChuangHongShaoRou : HongShaoRou
{
public override void Others()
{
Console.WriteLine("放入芝麻醬");
}
}
客戶端只要調(diào)用抽象類的模版方法就可以。
class Program
{
static void Main(string[] args)
{
HongShaoRou hongShaoRou = new SiChuangHongShaoRou();
hongShaoRou.MakeHongShaoRou();
Console.ReadKey();
}
}
希望本文所述對大家C#程序設(shè)計的學(xué)習(xí)有所幫助。
相關(guān)文章
C#中IEnumerable接口介紹并實現(xiàn)自定義集合
這篇文章介紹了C#中IEnumerable接口并實現(xiàn)自定義集合,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
unity 實現(xiàn)攝像機繞某點旋轉(zhuǎn)一周
這篇文章主要介紹了unity 實現(xiàn)攝像機繞某點旋轉(zhuǎn)一周,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
C#實現(xiàn)遠程連接ORACLE數(shù)據(jù)庫的方法
這篇文章主要介紹了C#實現(xiàn)遠程連接ORACLE數(shù)據(jù)庫的方法,通過自定義函數(shù)db_connection_test實現(xiàn)遠程連接Oracle數(shù)據(jù)庫的功能,是非常實用的技巧,需要的朋友可以參考下2014-12-12
C#?使用Fluent?API?創(chuàng)建自己的DSL(推薦)
DSL領(lǐng)域?qū)S谜Z言是描述特定領(lǐng)域問題的語言,聽起來很唬人,其實不是什么高深的東西,下面通過實例代碼介紹下C#?使用Fluent?API?創(chuàng)建自己的DSL,感興趣的朋友參考下吧2021-12-12
C#實現(xiàn)目錄跳轉(zhuǎn)(TreeView和SplitContainer)的示例代碼
本文主要介紹了C#實現(xiàn)目錄跳轉(zhuǎn)(TreeView和SplitContainer)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

