实验 24:模板方法模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解模板方法模式的动机,掌握该模式的结构;
2、能够利用模板方法模式解决实际问题。
[实验任务一]:数据库连接
对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计。
实验要求:
1. 画出对应的类图;
2. 提交源代码;
3. 注意编程规范。
1.
2.// 抽象类,定义数据库操作模板
abstract class DBOperation {
// 连接数据库
abstract void connDB();
// 打开数据库
void openDB() {
System.out.println("Opening database...");
}
// 使用数据库
void useDB() {
System.out.println("Using database...");
}
// 关闭数据库
void closeDB() {
System.out.println("Closing database...");
}
// 模板方法,定义数据库操作的步骤
final void templateMethod() {
connDB();
openDB();
useDB();
closeDB();
}
}
// SQL Server数据库操作类
class SQLServerDB extends DBOperation {
@Override
void connDB() {
System.out.println("Connecting to SQL Server...");
}
}
// Oracle数据库操作类
class OracleDB extends DBOperation {
@Override
void connDB() {
System.out.println("Connecting to Oracle...");
}
}
// 测试类
public class Main {
public static void main(String[] args) {
DBOperation sqlServerDB = new SQLServerDB();
sqlServerDB.templateMethod();
DBOperation oracleDB = new OracleDB();
oracleDB.templateMethod();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术