模板方法模式
实验 24:模板方法模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解模板方法模式的动机,掌握该模式的结构;
2、能够利用模板方法模式解决实际问题。
[实验任务一]:数据库连接
对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计。
实验要求:
1. 画出对应的类图;
2. 提交源代码;
// 抽象类,提供模板方法和抽象方法
abstract class Database {
// 模板方法
public final void connDB() {
System.out.println("连接到数据库...");
connect();
}
// 其他步骤的具体实现
public void openDB() {
System.out.println("打开数据库...");
}
public void useDB() {
System.out.println("使用数据库...");
}
public void closeDB() {
System.out.println("关闭数据库...");
}
// 抽象方法,由子类实现
protected abstract void connect();
}
// SQL Server 数据库实现
class SQLServerDatabase extends Database {
@Override
protected void connect() {
System.out.println("连接到 SQL Server 数据库。");
}
}
// Oracle 数据库实现
class OracleDatabase extends Database {
@Override
protected void connect() {
System.out.println("连接到 Oracle 数据库。");
}
}
// 主方法进行测试
public class Main {
public static void main(String[] args) {
Database sqlServer = new SQLServerDatabase();
Database oracle = new OracleDatabase();
// 使用 SQL Server 数据库
sqlServer.connDB();
sqlServer.openDB();
sqlServer.useDB();
sqlServer.closeDB();
System.out.println(); // 分隔输出
// 使用 Oracle 数据库
oracle.connDB();
oracle.openDB();
oracle.useDB();
oracle.closeDB();
}
}
3. 注意编程规范。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人