C++ 设计模式 —— 23.模板方法模式

  • 模板方法模式:一种行为型设计模式

  • 应用场景:
    模板方法是一种代码复用的基本技术,定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。
    在使用模板方法时,很重要的一点是模板方法应当指明哪些操作是可以被重写的,以及哪些是必须被重写的。
    此设计模式比较简单,直接看代码吧。

以下是模板方法模式的简单代码实现
#include <iostream>
using namespace std;

//默认的模板方法类
class DefaultTemplate
{
public:
    //固定的模板方法流程
    void TemplateMethod()
    {
        Step1();
        Step2();
        Step3();
    }

private:
    virtual void Step1()
    {
        cout << "Default Step1" << endl;
    }
    virtual void Step2()
    {
        cout << "Default Step2" << endl;
    }
    virtual void Step3()
    {
        cout << "Default Step3" << endl;
    }
};

//重写步骤1、3
class NewTemplate:public DefaultTemplate
{
private:
    virtual void Step1()
    {
        cout << "New Step1" << endl;
    }
    virtual void Step3()
    {
        cout << "New Step3" << endl;
    }
};
主函数中的使用
int main()
{
    DefaultTemplate oDefault;
    oDefault.TemplateMethod();

    NewTemplate oNew;
    oNew.TemplateMethod();
    return 0;
}
控制台输出结果
Default Step1
Default Step2
Default Step3
New Step1
Default Step2
New Step3

如有错误,欢迎指正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容