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


使用Java实现数据库操作的模板方法模式可以按照以下方式进行:
首先,创建一个抽象类作为数据库操作模板类,定义好整个操作流程的骨架,其中包括connDB()、openDB()、useDB()、closeDB()四个方法。
javaCopy Code
public abstract class DatabaseTemplate {
public abstract void connDB();
public abstract void openDB();
public abstract void useDB();
public abstract void closeDB();
public final void operate() {
connDB();
openDB();
useDB();
closeDB();
}
}
然后,针对不同类型的数据库,创建具体的子类继承抽象类,并实现各自的连接数据库方法。
javaCopy Code
public class SQLServer extends DatabaseTemplate {
@Override
public void connDB() {
System.out.println("连接SQL Server数据库");
}
@Override
public void openDB() {
System.out.println("打开SQL Server数据库");
}
@Override
public void useDB() {
System.out.println("使用SQL Server数据库");
}
@Override
public void closeDB() {
System.out.println("关闭SQL Server数据库");
}
}
public class Oracle extends DatabaseTemplate {
@Override
public void connDB() {
System.out.println("连接Oracle数据库");
}
@Override
public void openDB() {
System.out.println("打开Oracle数据库");
}
@Override
public void useDB() {
System.out.println("使用Oracle数据库");
}
@Override
public void closeDB() {
System.out.println("关闭Oracle数据库");
}
}
最后,使用具体的子类来进行数据库操作。
javaCopy Code
public class Main {
public static void main(String[] args) {
SQLServer sqlServer = new SQLServer();
sqlServer.operate();
Oracle oracle = new Oracle();
oracle.operate();
}
}
这样,无论是连接SQL Server还是Oracle数据库,都可以通过调用operate()方法来执行相同的操作流程,只需要在具体子类中实现自己的连接数据库方法即可。
浙公网安备 33010602011771号