模板方法模式:父类中定义一个操作中的算法骨架,讲算法的具体实现步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 模板方法模式
{
abstract class AbstractClass
{
public abstract void Operation1();
public abstract void Operation2();
public void TemplateMethod() //给出了算法的骨架,具体实现延迟到子类
{
Operation1();
Operation2();
}
}
class ClassA : AbstractClass
{
public override void Operation1()
{
Console.WriteLine("A has completed 1");
}
public override void Operation2()
{
Console.WriteLine("A has completed 2");
}
}
class ClassB : AbstractClass
{
public override void Operation1()
{
Console.WriteLine("B has completed 1");
}
public override void Operation2()
{
Console.WriteLine("B has completed 2");
}
}
class Program
{
static void Main(string[] args)
{
AbstractClass a = new ClassA();
a.TemplateMethod();
AbstractClass b = new ClassB();
b.TemplateMethod();
}
}
}
1672

被折叠的 条评论
为什么被折叠?



