今日报告
模板方法模式
对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计。
DatabaseTemplate.java
// 定义数据库操作模板类 abstract class DatabaseTemplate { // 模板方法,定义了数据库操作的步骤 public final void operateDatabase() { connDB(); // 连接数据库 openDB(); // 打开数据库 useDB(); // 使用数据库 closeDB(); // 关闭数据库 } // 抽象方法,由子类实现不同类型数据库的连接 protected abstract void connDB(); // 具体方法,打开数据库 private void openDB() { System.out.println("打开数据库"); } // 具体方法,使用数据库 protected void useDB() { System.out.println("使用数据库"); } // 具体方法,关闭数据库 private void closeDB() { System.out.println("关闭数据库"); } }
SQLServerDatabase.java
// SQL Server数据库操作类,继承自数据库操作模板类 class SQLServerDatabase extends DatabaseTemplate { // 实现连接SQL Server数据库的具体方法 @Override protected void connDB() { System.out.println("连接SQL Server数据库"); } }
OracleDatabase.java
// Oracle数据库操作类,继承自数据库操作模板类 class OracleDatabase extends DatabaseTemplate { // 实现连接Oracle数据库的具体方法 @Override protected void connDB() { System.out.println("连接Oracle数据库"); } }
Client.java
public class Client { public static void main(String[] args) { // 使用模板方法模式进行数据库操作 OracleDatabase oracleDB = new OracleDatabase(); oracleDB.operateDatabase(); // 输出连接Oracle数据库,打开数据库,使用数据库,关闭数据库 SQLServerDatabase sqlServerDB = new SQLServerDatabase(); sqlServerDB.operateDatabase(); // 输出连接SQL Server数据库,打开数据库,使用数据库,关闭数据库 } }
实现结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南