模闆方法模式使用場景:過濾器(重寫過濾器的OnActionExecuting方法),很多我們重寫父類的方法,都用到了模闆方法。
UML圖:
示例代碼:public class MuBanClass
{
public void TemplateMethod()
{
Console.WriteLine("模闆方法執行前");
Operation1();
Operation2();
Console.WriteLine("模闆方法執行後");
}
public virtual void Operation1()
{
}
public virtual void Operation2()
{
}
}
public class ConcreteClass:MuBanClass
{
public override void Operation1()
{
Console.WriteLine("子類Operation1");
}
public override void Operation2()
{
Console.WriteLine("子類Operation2");
}
}
class Program
{
static void Main(string[] args)
{
MuBanClass muban = new ConcreteClass();
muban.TemplateMethod();
}
}