示例代码: 
// Template Method
namespace TemplateMethod_DesignPattern
{
    using System;
    class Algorithm 
    {
        public void DoAlgorithm() 
        {
            Console.WriteLine("In DoAlgorithm");
            
            // do some part of the algorithm here
            
            // step1 goes here
            Console.WriteLine("In Algorithm - DoAlgoStep1"); 
            // . . . 
            // step 2 goes here
            Console.WriteLine("In Algorithm - DoAlgoStep2"); 
            // . . . 
            // Now call configurable/replacable part
            DoAlgoStep3();
            // step 4 goes here
            Console.WriteLine("In Algorithm - DoAlgoStep4"); 
            // . . . 
            // Now call next configurable part
            DoAlgoStep5();
        }
        virtual public void DoAlgoStep3()
        {
            Console.WriteLine("In Algorithm - DoAlgoStep3"); 
        }
        virtual public void DoAlgoStep5()
        {
            Console.WriteLine("In Algorithm - DoAlgoStep5"); 
        }
    }
    class CustomAlgorithm : Algorithm
    {
        public override void DoAlgoStep3()
        {
            Console.WriteLine("In CustomAlgorithm - DoAlgoStep3");
        }
        public override void DoAlgoStep5()
        {
            Console.WriteLine("In CustomAlgorithm - DoAlgoStep5");
        }
    }
    /// <summary>
    /// Summary description for Client.
    /// </summary>
    public class Client
    {
        public static int Main(string[] args)
        {
            CustomAlgorithm c = new CustomAlgorithm();
            c.DoAlgorithm();
            return 0;
        }
    }
}