【JDBC-04】解决耦合问题

1. 什么是耦合

1.耦合:耦合就是程序之间的依赖程度,就是上层代码对下层代码的依赖程度
2. 依赖程度越高,耦合度越高,依赖程度越低,耦合度越低。
举个例子:
下面的代码,在客户端修改数据库中的数据,当数据库改变的时候,就需要重新实例化对应操作数据库的类对象,在客户端需要改动的代码太多,耦合度非常高

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 降低耦合度

1. 可以发现,三个数据库类中的修改方法格式是相同的,只是语句不同
2. 此时可以定义出一个标准(提取相同的方法),让操作数据库的类都去按照标准开发
3. 定义标准也就是定义一个接口,让操作数据库的类去实现接口(标准)

当定义标准之后,客户端操作不同的数据库,只需要修改对应的数据库实现类名就可以了,此时耦合依旧存在的,但是已经大大降低了。
再需要降低耦合度就要用到工厂设计模式,再进一步降低耦合度,就需要使用到IOC容器(控制反转容器)
public class Test {
    public static void main(String[] args) {
        //操作Oracle数据库
        IDAO idao = new OracleDAOImpl();
        idao.update();
//
//        //操作Mysql数据库
//        IDAO idao = new MysqlDAOImpl();
//        idao.update();
//        
//        //操作SqlServer
//        IDAO idao = new SqlServerDAOImpl();
//        idao.update();
    }
}
-------------------------------------------
/**
 * 操作Oracle数据库
 */
public class OracleDAOImpl implements  IDAO{
    @Override
    public int update() {
        System.out.println("修改Oracle数据库中的数据");
        return 0;
    }
}
----------------------------------
/**
 * 操作Mysql数据库
 */
public class MysqlDAOImpl implements  IDAO {

    @Override
    public int update() {
        System.out.println("修改Mysqlr中的数据");
        return 0;
    }
}
----------------------------------
/**
 * 操作SqlServer
 */
public class SqlServerDAOImpl implements  IDAO {
    @Override
    public int update() {
        System.out.println("修改SqlServer中的数据");
        return 0;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值