簡介

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 讓演算法結構可重用,細節可擴充。