意图:
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构
即可重定义该算法的某些特定步骤。
结构:
代码:
abstract class AbstractClass{
public abstract void PrimitiveOperation1();
public abstract void PrimitiveOperation2();
public void TemplateMethod(){
PrimitiveOperation1();
PrimitiveOperation2();
Console.WriteLine(" abstract ");
}
}
class ConcreteClassA:AbstractClass{
public overide void PrimitveOperation1(){
Console.WriteLine( “具体类A 方法1 实现”);
}
public overide void PrimitveOperation2(){
Console.WriteLine( “具体类A 方法2 实现”);
}
}
class ConcreteClassB:AbstractC