首页 > 其他分享 >模版方法模式(一)

模版方法模式(一)

时间:2022-12-23 20:57:20浏览次数:31  
标签:模版 void System 模式 数据库 println connDB 方法 public

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

 

 

//DBOperator.java
package test24;
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("关闭数据库");
        }
}
//SQLServerDB.java
package test24;
public class SQLServerDB extends DBOperator{
    @Override
    public void connDB() {
        // TODO 自动生成的方法存根
        System.out.println("连接SQLServer数据库");
    }
}
//OracleDB.java
package test24;
public class OracleDB extends DBOperator{
    @Override
    public void connDB() {
        // TODO 自动生成的方法存根
        System.out.println("连接Oracle数据库");
    }
}
//Client.java
package test24;
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();
    }
}

 

标签:模版,void,System,模式,数据库,println,connDB,方法,public
From: https://www.cnblogs.com/qiuyutingyyds/p/17001598.html

相关文章

  • 模版方法模式(二)
    #include<iostream>usingnamespacestd;classDBOperator{public:virtualvoidconnDB()=0;voidopenDB(){cout<<"打开数据库"<<endl;}......
  • 访问者模式(一)
    在我们课堂上的“购物车”的例子中,增加一个新的访问者:打包员,负责对购物车中货物装包。 //Product.javapackagetest25;publicinterfaceProduct{voidaccept(......
  • 访问者模式(二)
    #include<iostream>#include<list>usingnamespacestd;classApple;classBook;//抽象访问者classVisitor{protected:stringname;public:voidset......
  • 中介者模式(二)
    #include<iostream>#include<map>#include<ctime>#include<sstream>usingnamespacestd;classAbstractChatroom;//抽象同事类classMember{protected:Ab......
  • rsync的三种传输模式及常见报错
    rsync的传输的三种模式:1,本地传输模式(类似于cp,不支持推送和拉取,只是单纯的复制)2,远程传输模式(类似于scp,又不同于scp),scp只支持全量备份,rsync支持增量备份和差异备份3......
  • 状态模式(二)
    #include<iostream>#include<string>usingnamespacestd;classAccount;classAccountState{public:Account*acc;doublebalance;stringstateName;p......
  • 状态模式(一)
    用Java代码模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。 //Account.javapackagetest22;publiccl......
  • 策略模式(二)
    #include<iostream>usingnamespacestd;classTravelStrategy{public:virtualvoidtravel()=0;};classAirplaneStrategy:publicTravelStrategy{public:......
  • 策略模式(一)
    旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。 //Person.javapackagetest2......
  • python:异常的捕获方法
    世界上没有完美的程序,任何程序在运行的过程中,都有可能出现:异常,也就是出现bug导致程序无法完美运行下去。我们要做的,不是力求程序完美运行。而是在力所能及的范围内,对可......