11月29每日打卡

实验 24:模板方法模式

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

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

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

 

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

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

 

 

 

使用Java实现数据库操作的模板方法模式可以按照以下方式进行:

首先,创建一个抽象类作为数据库操作模板类,定义好整个操作流程的骨架,其中包括connDB()、openDB()、useDB()、closeDB()四个方法。

javaCopy Code
public abstract class DatabaseTemplate {
    public abstract void connDB();

    public abstract void openDB();

    public abstract void useDB();

    public abstract void closeDB();

    public final void operate() {
        connDB();
        openDB();
        useDB();
        closeDB();
    }
}

然后,针对不同类型的数据库,创建具体的子类继承抽象类,并实现各自的连接数据库方法。

javaCopy Code
public class SQLServer extends DatabaseTemplate {
    @Override
    public void connDB() {
        System.out.println("连接SQL Server数据库");
    }

    @Override
    public void openDB() {
        System.out.println("打开SQL Server数据库");
    }

    @Override
    public void useDB() {
        System.out.println("使用SQL Server数据库");
    }

    @Override
    public void closeDB() {
        System.out.println("关闭SQL Server数据库");
    }
}

public class Oracle extends DatabaseTemplate {
    @Override
    public void connDB() {
        System.out.println("连接Oracle数据库");
    }

    @Override
    public void openDB() {
        System.out.println("打开Oracle数据库");
    }

    @Override
    public void useDB() {
        System.out.println("使用Oracle数据库");
    }

    @Override
    public void closeDB() {
        System.out.println("关闭Oracle数据库");
    }
}

最后,使用具体的子类来进行数据库操作。

javaCopy Code
public class Main {
    public static void main(String[] args) {
        SQLServer sqlServer = new SQLServer();
        sqlServer.operate();

        Oracle oracle = new Oracle();
        oracle.operate();
    }
}

这样,无论是连接SQL Server还是Oracle数据库,都可以通过调用operate()方法来执行相同的操作流程,只需要在具体子类中实现自己的连接数据库方法即可。

posted @ 2023-11-29 23:31  云边上打盹  阅读(23)  评论(0)    收藏  举报