今日报告
模板方法模式
对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了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数据库,打开数据库,使用数据库,关闭数据库 } }
实现结果:


浙公网安备 33010602011771号