美文网首页
设计模式-行为模式-模板方法模式

设计模式-行为模式-模板方法模式

作者: 阿棍儿_Leon | 来源:发表于2020-04-29 17:50 被阅读0次

模板方法模式是在基类中定义操作的步骤分解(算法骨架),在子类中实现具体的单个步骤的模式。

以下代码定义了基类,基类规定了操作的步骤分解。

#include <iostream>

using namespace std;

class Abstraction
{
public:
    virtual ~Abstraction(){}
    void Operation()
    {
        OperationStep0();
        OperationStep1();
    }
    virtual void OperationStep0()=0;
    virtual void OperationStep1()=0;
};

以下代码定义了子类,子类要分别实现每个具体步骤。

class ConcreteAbstraction:public Abstraction
{
public:
    void OperationStep0()
    {
        cout<<__PRETTY_FUNCTION__<<endl;
    }
    void OperationStep1()
    {
        cout<<__PRETTY_FUNCTION__<<endl;
    }
};

以下代码是演示,使用子类对象进行操作,操作就由子类实现的步骤完成。

int main(void){
    Abstraction* obj = new ConcreteAbstraction();
    obj->Operation();
    delete obj;
    return 0;
}

输出

virtual void ConcreteAbstraction::OperationStep0()
virtual void ConcreteAbstraction::OperationStep1()

相关文章

网友评论

      本文标题:设计模式-行为模式-模板方法模式

      本文链接:https://www.haomeiwen.com/subject/wqunwhtx.html