天天看點

模闆方法模式

模闆方法模式使用場景:過濾器(重寫過濾器的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();
        }
    }