模板方法模式

Posted chester.chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板方法模式相关的知识,希望对你有一定的参考价值。

模板方法模式使用场景:过滤器(重写过滤器的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();
        }
    }

 

以上是关于模板方法模式的主要内容,如果未能解决你的问题,请参考以下文章