簡介
Template Method Pattern(模板方法模式)是一種行為型設計模式,定義一個演算法骨架,將部分步驟延遲到子類別實現。
問題
當演算法的結構固定,但部分細節需由子類別決定時。
解決方案
在父類別中定義模板方法,子類別覆寫部分步驟。
C# 範例
public abstract class AbstractClass {
public void TemplateMethod() {
Step1();
Step2();
}
protected abstract void Step1();
protected abstract void Step2();
}
public class ConcreteClass : AbstractClass {
protected override void Step1() { Console.WriteLine("步驟1"); }
protected override void Step2() { Console.WriteLine("步驟2"); }
}
結論
Template Method Pattern 讓演算法結構可重用,細節可擴充。