首页 > 其他分享 >软件设计实验 24:模板方法模式

软件设计实验 24:模板方法模式

时间:2023-12-01 20:55:38浏览次数:37  
标签:24 软件设计 数据库 System public println void 模板

 

 

实验 24:模板方法模式

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

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

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

 

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

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

实验要求:

1. 提交源代码;

 

Client.java:
        import java.util.Scanner;
public class Client {
    public static void main(String[] args) {
        DBOperator db = null;
        System.out.println("请选择数据库:1、SQLServer 2、Oracle");
        Scanner input=new Scanner(System.in);
        int i=input.nextInt();
        if(i==1) {

            db=new SQLServerDB();
        }else if(i==2) {
            db=new OracleDB();
        }
        db.process();
    }
}

DBOperator.java:
public abstract class DBOperator {
    public void process(){
        connDB();
        openDB();
        useDB();
        closeDB();
    }
    public abstract void connDB();
    public void openDB(){
        System.out.println("打开数据库");
    }
    public void useDB(){
        System.out.println("使用数据库");
    }
    public void closeDB(){
        System.out.println("关闭数据库");
    }
}

OracleDB.java:
public class OracleDB extends DBOperator{
    @Override
    public void connDB() {
// TODO 自动生成的方法存根
        System.out.println("连接Oracle数据库");
    }
}

SQLServerDB.java:
public class SQLServerDB extends DBOperator{
    @Override
    public void connDB() {
// TODO 自动生成的方法存根
        System.out.println("连接SQLServer数据库");
    }
}

 

2.注意编程规范。

 

标签:24,软件设计,数据库,System,public,println,void,模板
From: https://www.cnblogs.com/DREAM2021/p/17870855.html

相关文章

  • Amazon CTO Werner Vogels:2024年及未来四大技术趋势预测
    纵观历史,人类已经开发出各种工具和系统来增强自身能力。无论是印刷机还是装配线,这些创新拓宽了我们的能力范围,造就新的工作和职业,我们也不断适应着新生活。这种变化的速度在过去的一年里迅速加快,云技术、机器学习和生成式AI变得更为普及,从写电子邮件到开发软件,甚至是癌症早期筛......
  • 提升工作效率必备神器:2024年口碑最佳的9款待办事项提醒软件
    9款主流待办事项提醒软件:1.PingCode;2.Worktile;3.Apple提醒事项;4.嘀嗒清单;5.番茄TODO;6.Todoist;7.微软ToDo;8.Trello;9.Asana。使用待办事项管理软件相比于没有使用,主要提高了任务组织和规划的效率,优化了时间管理,并有助于设置任务优先级。这类软件支持动态调整任务、减少遗忘......
  • 2024年几种浏览器播放RTSP视频流的方案及优缺点
    现在越来越多的场景需要用到视频设备了,比如:交通部门、停车场、园区等,大部分需要在浏览器中实时播放视频流,因为RTSP协议具有可扩展性、安全性和易解析等特点,成为大部分摄像头厂商的首选协议,众所周知的是RTSP协议的视频流,浏览器中是无法直接使播放,只有通过插件或者转码来实现。市场......
  • js 现在时间到当天24时结束
    获取到时间差为毫秒,可以转为时分秒,自行处理,getTimestamp(){letnowB=newDate().getTime()letform=newDate()lety=form.getFullYear();letm=form.getMonth()+1;letd=form.getDate();letnowE=newDate(y,m,d,"23","59","59"......
  • CF249题解
    CF249linkCF249ElinkCF249E题意给你一个形如下图的矩阵并有\(T\)组询问每组询问给出\(x_1,y_1,x_2,y_2\)。求\(\sum_{i=x_1}^{x_2}\sum_{j=y_1}^{y_2}A[i][j]\)。其中\(A[i][j]\)表示在矩阵中的数。\(T\leq10^5\)\(1\leqx_1\leqx_2\leq10^9\)\(1\leqy_1......
  • 2499元 极摩客K7迷你主机上架:i5-13500H+双2.5G网口
    极摩客即将推出K7迷你主机,准系统首发价2499元,将于12月7日10点正式发售。据介绍,新款迷你主机搭载英特尔酷i5-13500H处理器,12核16线程,采用4大核+8小核的配置,配备了18MB高速缓存,主频为2.6GHz,最高可睿频至4.70GHz。同时支持两个M.22280固态硬盘,双槽最高支持4T,支持双通道内存,至高......
  • 统信UOS/麒麟KYLINOS设置用户模板
    原文链接:统信UOS/麒麟KYLINOS设置用户模板hello,大家好啊,今天给大家带来一篇关于修改用户模板的文章,结合我们之前制作ISO镜像及制作云桌面用户模板的文章,可以一同使用。本篇文章对用户模板的五个方面进行了设置,都是一些很简单的操作,大家可以根据示例进行延伸操作,本文只是提供一种思......
  • 数据库面试题从浅入深高频必刷「2024版」
    什么是数据库事务,它的ACID属性是什么?数据库事务是一组数据库操作的逻辑单元,要么全部执行成功,要么全部回滚。ACID属性是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。以下是对ACID属性的详细解释:原子性(Atomicity):原子性确保一个事务中的所有操......
  • 实验四-现代C++标准库与类模板
    1#include<iostream>23usingstd::cout;4usingstd::endl;56classA{7public:8A(intx0,inty0):x{x0},y{y0}{}9voidshow()const{cout<<x<<","<<y<<endl;}10private:11......
  • 实验四 现代C++标准库类与模板
    实验任务1task1.cpp源码task1_1.cpp:#include<iostream>usingstd::cout;usingstd::endl;//类A的定义classA{public:A(intx0,inty0):x{x0},y{y0}{}voidshow()const{cout<<x<<","<<y<<endl;}......