概述:模板方法模式是二十三中设计模式使用最为广泛的一种模式,基本所有设计中使用了继承关系的都是使用了这个设计模式,这个模式就是把子类中,相同的重复的代码,抽取出来放在父类中,达到代码复用的目的。

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

  UML类图:

 

示例代码:

抽象父类:

abstract class AbstractClass

{

  public abstract void PrimitiveOperation1();

  public abstract void PrimitiveOperation2();

  public void TemplateMethod()

  {

    PrimitiveOperation1();

    PrimitiveOperation2();

    ..........

  }

}

子类1:

class ConcreteClassA:AbstractClass

{

  public override void PrimitiveOperation1()

  {

    //具体A类方法1的实现

  }

  public override void PrimitiveOperation2()

  {

    //具体A类方法2的实现

  }

}

子类2:

class ConcreteClassB:AbstractClass

{

  public override void PrimitiveOperation1()

  {

    //具体B类方法1的实现

  }

  public override void PrimitiveOperation2()

  {

    //具体B类方法2的实现

  }

}

客户端调用:

Abstract c;

c=new ConcreteClassA();

c.TemplateMethod();

c=new ConcreteClassB();

c.TemplateMethod();

 

..........

posted on 2013-07-12 15:14  Kelly_HanShuai  阅读(93)  评论(0)    收藏  举报