每日博客
模板方法模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解模板方法模式的动机,掌握该模式的结构;
2、能够利用模板方法模式解决实际问题。
[实验任务一]:数据库连接
对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计。
C++版
#include<iostream>
#include<string>
using namespace std;
class AbstractClass
{
public:
void Run()
{
DoA();
DoB();
DoC();
}
virtual void DoA() = 0;
virtual void DoB() = 0;
virtual void DoC() = 0;
};
class ConcreteClass :public AbstractClass
{
public:
void DoA()
{
cout << "打开" << endl;
}
void DoB()
{
cout << "使用" << endl;
}
void DoC()
{
cout << "关闭" << endl;
}
};
void SQL()
{
cout << "连接SQL Server" << endl;
AbstractClass *car = new ConcreteClass();
car->Run();
}
void Oracle()
{
cout << "连接Oracle" << endl;
AbstractClass *car = new ConcreteClass();
car->Run();
}
int main() {
cout << "请选择:" << endl;
cout << "1.SQL Server" << endl;
cout << "2.Oracle" << endl;
int a = 0;
cin >> a;
switch (a) {
case 1:SQL(); break;
case 2:Oracle(); break;
}
return 0;
}