每日博客

模板方法模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

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

posted @ 2021-11-07 21:02  谦寻  阅读(74)  评论(0编辑  收藏  举报