模板设计模式讲究的是将不变的设置为基类,将变的设置为虚函数来让子类实现。下面就以这样的写下模板设计模式的例子。
例子场景
一个工程步骤分为step1,step2,其中step1由总工程指定,step2由子工程指定,最后由一个函数串起来,将step1与step2一起执行出来
Model代码
#pragma once
#include<iostream>class Model {public:void allStep();void Step1();virtual void Step2()=0;};
void Model::allStep()
{Step1();Step2();
}void Model::Step1()
{std::cout << "Model Step1" << std::endl;
}
class ModelSon :public Model {public:void Step2();};
void ModelSon::Step2() {std::cout << "ModelSon Step2" << std::endl;
}
Main代码
#include<iostream>
#include"Model.h"
int main() {ModelSon* mo = new ModelSon();mo->allStep();system("pause");return 0;
}