模板模式: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
模板模式是一种很常用的模式,在很多的框架或者基类重载的时候都会用到,只是有时候作为使用者并没有仔细去分辨是什么模式。
using namespace std; class ActionClass //基类定义各种方法的框架 { public: ActionClass(); void action() { open(); get(); close(); } virtual void open() = 0; virtual void get() = 0; virtual void close() = 0; }; // 打开文件 这一子类对各种方法的具体实现 class OpenFileClass : public ActionClass { public: OpenFileClass(); void open()//打开文件 { cout<<"Open file"<<endl; } void get()//读取文件内容 { cout<<"Read file"<<endl; } void close()//关闭文件 { cout<<"Close file"<<endl; } };