public abstract class AbstractClass
{
public voidTemplateMethod(){Primitive1();Primitive2();}
public abstract voidPrimitive1();
public abstract voidPrimitive2();}
public class ConcreteClass :AbstractClass
{
public override voidPrimitive1(){ … }
public override voidPrimitive2(){ … }}
客户端引用示例:
AbstractClass cls = new ConcreteClass();
cls.TemplateMethod();