10.18
实验 24:模板方法模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解模板方法模式的动机,掌握该模式的结构;
2、能够利用模板方法模式解决实际问题。
[实验任务一]:数据库连接
对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计。
实验要求:
1. 画出对应的类图;
2. 提交源代码;
3. 注意编程规范。

#include<iostream> using namespace std; class DBOperator { public: virtual void connDB()=0; void openDB() { cout<<"打开数据库"<<endl; } void useDB() { cout<<"使用数据库"<<endl; } void closeDB() { cout<<"关闭数据库"<<endl; } void process() { this->connDB(); this->openDB(); this->useDB(); this->closeDB(); } }; class OracleDBOperator: public DBOperator{ public: void connDB() { cout<<"连接Oracle数据库"<<endl; } }; class SQLServerDBOperator:public DBOperator{ public: void connDB() { cout<<"连接SQLServer数据库"<<endl; } }; int main(){ DBOperator *db; db=new OracleDBOperator(); db->process(); cout<<"-----------------"<<endl; db=new SQLServerDBOperator(); db->process(); }

浙公网安备 33010602011771号