模板方法模式

模板方法模式使用场景:过滤器(重写过滤器的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();
        }
    }
原文地址:https://www.cnblogs.com/chenyishi/p/9122043.html