C#模板方法模式(Template Method Pattern)實(shí)例教程
本文以一個(gè)簡(jiǎn)單的實(shí)例形式講述了C#模板方法模式的實(shí)現(xiàn)方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
這里假設(shè)要做一道紅燒肉,做法有很多,在不同的做法中都有相同的部分,比如都要放油、放肉、放調(diào)料等。也有不同之處,比如有些做法放可樂(lè),有些做法放甜蜜醬,等等。
先提煉出一個(gè)抽象類,該類不僅有制作紅燒肉的各個(gè)步驟,而且還把各個(gè)步驟歸納到另一個(gè)方法,我們把這個(gè)方法稱作模版方法。另外,在模版方法中,對(duì)于一些不確定的方面先用抽象方法。
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();
}
}
希望本文所述對(duì)大家C#程序設(shè)計(jì)的學(xué)習(xí)有所幫助。
- C# 設(shè)計(jì)模式系列教程-模板方法模式
- 詳解C#設(shè)計(jì)模式編程中的模板方法模式使用
- C#設(shè)計(jì)模式之單例模式實(shí)例講解
- c#設(shè)計(jì)模式 適配器模式詳細(xì)介紹
- C#設(shè)計(jì)模式之觀察者模式實(shí)例講解
- C#設(shè)計(jì)模式之外觀模式介紹
- 淺談c#設(shè)計(jì)模式之單一原則
- 淺談C#設(shè)計(jì)模式之代理模式
- 舉例講解C#編程中對(duì)設(shè)計(jì)模式中的單例模式的運(yùn)用
- 淺談C#設(shè)計(jì)模式之開放封閉原則
- C#設(shè)計(jì)模式之Template模板方法模式實(shí)現(xiàn)ASP.NET自定義控件 密碼強(qiáng)度檢測(cè)功能
相關(guān)文章
C#實(shí)現(xiàn)json的序列化和反序列化實(shí)例代碼
這篇文章主要介紹了C#實(shí)現(xiàn)json的序列化和反序列化實(shí)例代碼,有需要的朋友可以參考一下2013-12-12
C#零基礎(chǔ)開發(fā)中最重要的概念總結(jié)
這篇文章主要為大家詳細(xì)介紹了C#零基礎(chǔ)開發(fā)中最重要的一些概念,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,需要的可以參考一下2023-02-02
C#中BitConverter.ToUInt16()和BitConverter.ToString()的簡(jiǎn)單使用
這篇文章主要介紹了C#中BitConverter.ToUInt16()和BitConverter.ToString()的簡(jiǎn)單使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
C#使用NPOI實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出功能
這篇文章主要為大家詳細(xì)介紹了C#使用NPOI實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C#使用Socket發(fā)送和接收TCP數(shù)據(jù)實(shí)例
這篇文章主要介紹了C#使用Socket發(fā)送和接收TCP數(shù)據(jù)的實(shí)現(xiàn)方法,以實(shí)例的形式詳細(xì)講述了C#實(shí)現(xiàn)socket通信的完整實(shí)現(xiàn)過(guò)程,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10

