设计模式(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
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。