欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

城堡之旅前奏——模板方法模式回顾

墨初 知识笔记 117阅读

模板方法模式:模板方法模式准备一个抽象类,以具体方法和具体构造函数的形式实现一些逻辑,然后声明一些抽象方法强制子类实现rest逻辑。不同的子类可以用不同的方式实现这些抽象方法,从而实现不同的剩余逻辑。先做一个顶层的逻辑框架,逻辑的细节留给具体的子类去实现。请参见下面的简单示例代码:AbstractClass是基类,包含TemplateMethod()。在这个方法中,调用了PrimitiveOperation1()和PrimitiveOperation2(),它们是由ConcreteClass子类实现的。使用系统;//' abstract class ' abstract : rgba(0,0,255,1)'抽象类{//方法抽象公共void原语操作1();抽象公共void primitive operation 2();

an>// The Template method
  public void TemplateMethod()
  {
    Console.WriteLine(
                "In AbstractClass.TemplateMethod()");
    PrimitiveOperation1();
    PrimitiveOperation2();
  }
}

// "ConcreteClass"


class
ConcreteClass : AbstractClass
{
  // Methods
  public override void PrimitiveOperation1()
  {
    Console.WriteLine(
        "Called ConcreteClass.PrimitiveOperation1()");
  }

  public override void PrimitiveOperation2()
  {
    Console.WriteLine(
        "Called ConcreteClass.PrimitiveOperation2()");
  }
}

/// <summary>
/// Client test
/// </summary>
public class Client
{
  public static void Main( string[] args )
  {
    // Create instance and call template method
    ConcreteClass c = new ConcreteClass();
    c.TemplateMethod();

  }
}


Output

In AbstractClass.TemplateMethod()
Called ConcreteClass.PrimitiveOperation1()
Called ConcreteClass.PrimitiveOperation2()

 

标签:
声明:无特别说明,转载请标明本文来源!