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();
}

 

posted @ 2021-12-05 09:14  小仙女W  阅读(56)  评论(0编辑  收藏  举报