範本方法 模式

範本方法 模式

範本方法 模式

範本方法 模式

abstract class AbstractClass
{
public abstract void PrimitiveOperation1();
public abstract void PrimitiveOperation2();

public void TemplateMethod()
{
    PrimitiveOperation1();
    PrimitiveOperation2();
    Console.WriteLine("");
}

}

class ConcreteClassA : AbstractClass
{
public override void PrimitiveOperation1()
{

}
public override void PrimitiveOperation2()
{

}
}

class ConcreteClassB : AbstractClass
{
public override void PrimitiveOperation1()
{

}
public override void PrimitiveOperation2()
{

}
}

static void Main(string[] args)
{
AbstractClass c;
c = new ConcreteClassA();
c.TemplateMethod();

c = new ConcreteClassB();
c.TemplateMethod();

Console.Read();

}