• 模板方法模式——java实现


    问题描述:

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

    类图:

    Java代码:

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

    运行结果:

     

  • 相关阅读:
    再不迁移到Material Design Components 就out啦
    Material Design Compoents 1.1.0
    Android低功耗蓝牙总结
    JAVA8 对象排序
    记录UIButton 自适应的一个坑
    MySQL 索引大全
    MySQL 与 MongoDB 的区别
    Flutter https://flutter.cn/docs学习之添加资源和图片
    Flutter https://flutter.cn/docs学习之加入交互体验
    Flutter https://flutter.cn/docs学习之向 Android 应用中添加闪屏页和启动页
  • 原文地址:https://www.cnblogs.com/znjy/p/15627784.html
Copyright © 2020-2023  润新知