行为型模式之模板模式

定义

模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

实现

模板类

    public abstract class DrawPerson
    {
        public abstract void DrawHead();
        public abstract void DrawBody();
        public abstract void DrawHand();
        public abstract void DrawFoot();

        /// <summary>
        /// 模板固定,具体细节又子类实现
        /// </summary>
        public void Draw()
        {
            DrawHead();
            DrawBody();
            DrawHand();
            DrawFoot();
        }
    }

具体类

    public class Joy : DrawPerson
    {
        public override void DrawBody()
        {
            Console.WriteLine("身体瘦小");
        }

        public override void DrawFoot()
        {
            Console.WriteLine("腿比较短");
        }

        public override void DrawHand()
        {
            Console.WriteLine("手比较短");
        }

        public override void DrawHead()
        {
            Console.WriteLine("头比较小");
        }
    }

客户端

    class Program
    {
        static void Main(string[] args)
        {
            Joy joy = new Joy();
            joy.Draw();
            Console.ReadLine();
        }
    }

 

原文地址:https://www.cnblogs.com/Jabben_Yi/p/5635039.html