设计模式(015)行为型之模板方法模式
模板方法模式,它定义了一个算法的骨架,将一些步骤延迟到子类中实现。这个模式允许子类重新定义算法的某些步骤,而不改变算法的结构。通常,模板方法由一个抽象类实现,其中包含算法的基本步骤,并且这些步骤可以是抽象的或具体的。子类继承这个抽象类并重写其中的特定方法,从而定制算法的行为。这种模式常用于实现一个通用的算法框架,以便不同的子类可以根据自身需求实现算法的具体步骤。
(图片来源网络,侵删)
1、场景设计
实现场景:定义一个模板方法类,并使用它。
2、C++实现
`AbstractClass` 是抽象类,其中包含一个模板方法 `templateMethod()` 和一些抽象方法 `step1()` 和 `step2()`。`ConcreteClass` 是 `AbstractClass` 的具体子类,实现了 `step1()` 和 `step2()` 方法。在 `main()` 函数中,我们创建了 `ConcreteClass` 的一个实例,并调用了 `templateMethod()` 方法,从而触发了模板方法的执行。
#include
//定义模板方法的抽象类
class AbstractClass {
public:
//模板方法
void templateMethod() {
step1();
step2();
step3();
}
//由子类实现的基本操作
virtual void step1() = 0;
virtual void step2() = 0;
//具体操作
void step3() {
std::cout
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
