24.12.18

实验 24:模板方法模式

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

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

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

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

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

实验要求:

1.  画出对应的类图;

2.  提交源代码;

3.  注意编程规范。

 

  1. 类图:

 

 

  1. 源代码:

 

// 抽象模板类

abstract class AbstractDBTemplate {

    // 模板方法:定义操作数据库的固定流程

    public final void operateDB() {

        connDB();    // 连接数据库(由子类实现)

        openDB();    // 打开数据库

        useDB();     // 使用数据库

        closeDB();   // 关闭数据库

    }

 

    // 抽象方法:连接数据库(具体实现由子类提供)

    protected abstract void connDB();

 

    // 通用方法:打开数据库

    protected void openDB() {

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

    }

 

    // 通用方法:使用数据库

    protected void useDB() {

        System.out.println("使用数据库...");

    }

 

    // 通用方法:关闭数据库

    protected void closeDB() {

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

    }

}

 

// 具体模板类:SQL Server

class SQLServerDB extends AbstractDBTemplate {

    @Override

    protected void connDB() {

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

    }

}

 

// 具体模板类:Oracle

class OracleDB extends AbstractDBTemplate {

    @Override

    protected void connDB() {

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

    }

}

 

// 测试类

public class Client {

    public static void main(String[] args) {

        // 使用 SQL Server 数据库

        System.out.println("操作 SQL Server 数据库:");

        AbstractDBTemplate sqlServerDB = new SQLServerDB();

        sqlServerDB.operateDB();

 

        System.out.println();

 

        // 使用 Oracle 数据库

        System.out.println("操作 Oracle 数据库:");

        AbstractDBTemplate oracleDB = new OracleDB();

        oracleDB.operateDB();

    }

}

posted on 2024-12-18 20:51  Daniel350  阅读(2)  评论(0编辑  收藏  举报