模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。
在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
class ITemplate{
public:
virtual ~ITemplate(){}
virtual void templateMethod(){
operation1();
operation2();
operation3();
}
void operation1(){
//do someting.
}
virtual void operation2() = 0;
virtual void operation3() = 0;
}
class OjbectOnTemplate : public ITemplate{
public:
void operation2(){
//do someting.
}
void operation3(){
//do something.
}
}

本文介绍了模板方法设计模式的基本概念及其实现方式。通过定义一个算法的骨架,并将某些步骤留给子类实现,使得子类可以重定义算法的某些部分而不改变整体结构。文中提供了模板方法模式的一个简单示例。
2797

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



