2024.12.10

设计模式二十四

软件设计                  石家庄铁道大学信息学院

 

实验 24:模板方法模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解模板方法模式的动机,掌握该模式的结构;

2、能够利用模板方法模式解决实际问题。

 
   

 

 

[实验任务一]:数据库连接

对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、openDB()、useDB()、closeDB()四个方法分别对应这四个步骤。对于不同类型的数据库(如SQL Server和Oracle),其操作步骤都一致,只是连接数据库connDB()方法不同,现使用模板方法模式对其进行设计。

实验要求:

 

1.  画出对应的类图;

 

 

2.  提交源代码;

DatabaseConnection.java

// 抽象类,定义数据库操作的模板方法

public abstract class DatabaseConnection {

 

    // 模板方法,定义了数据库操作的步骤

    public final void connectAndUseDB() {

        connDB();  // 连接数据库

        openDB();  // 打开数据库

        useDB();   // 使用数据库

        closeDB(); // 关闭数据库

    }

 

    // 连接数据库的步骤,由子类具体实现

    protected abstract void connDB();

 

    // 打开数据库的步骤,具体实现相同

    private void openDB() {

        System.out.println("打开数据库连接...");

    }

 

    // 使用数据库的步骤,具体实现相同

    private void useDB() {

        System.out.println("执行数据库操作...");

    }

 

    // 关闭数据库的步骤,具体实现相同

    private void closeDB() {

        System.out.println("关闭数据库连接...");

    }

}

SQLServerConnection.java

// SQL Server 连接类

public class SQLServerConnection extends DatabaseConnection {

 

    @Override

    protected void connDB() {

        System.out.println("连接到 SQL Server 数据库...");

    }

}

OracleConnection.java

// Oracle 连接类

public class OracleConnection extends DatabaseConnection {

 

    @Override

    protected void connDB() {

        System.out.println("连接到 Oracle 数据库...");

    }

}

Main.java

public class Main {

    public static void main(String[] args) {

        // 使用 SQL Server 数据库

        DatabaseConnection sqlServer = new SQLServerConnection();

        sqlServer.connectAndUseDB();

 

        System.out.println("---------------");

 

        // 使用 Oracle 数据库

        DatabaseConnection oracle = new OracleConnection();

        oracle.connectAndUseDB();

    }

}

3.  注意编程规范。

 

 

posted @ 2024-12-25 10:33  cvjj  阅读(26)  评论(0)    收藏  举报