2021.12.5 c++模板方法模式
一、今日学习内容
对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计
#include<iostream> #include<string> using namespace std; class DBOperator { public: void process() { connDB(); openDB(); useDB(); closeDB(); } virtual void connDB()=0; void openDB() { cout<<"打开数据库"<<endl; } void useDB() { cout<<"使用数据库"<<endl; } void closeDB() { cout<<"关闭数据库"<<endl; } }; class OracleDB :public DBOperator{ public: void connDB() { cout<<"连接Oracle数据库"<<endl; } }; class SQLServerDB:public DBOperator{ public: void connDB() { cout<<"连接SQLServer数据库"; } }; void main() { DBOperator *db; cout<<"请选择:1、SQLServer 2、Oracle"<<endl;; int i; cin>>i; if(i==1) { db=new SQLServerDB(); }else if(i==2) { db=new OracleDB(); } db->process(); }