设计模式11 桥接模式

大家如果手写过jdbc,一定了解当我们需要更换不同的数据库时只需要修改驱动和名称即可,不管连接mysql,还是oracle 实现的是同样的接口,代码的改动非常小,使系统的可维护性大大、和用户的容易操作性增加,这就是一个很好的桥接模式的例子。

1.问题假设

现有数据库MySql,Oracle,客户要求两个数据会切换使用,所以希望数据库的切换能方便快捷。

2.编码实现

话不多说,直接上代码!,定义连接数据库的接口,oracle 数据库驱动、mysql数据库驱动或者DB2等等都会去实现这个接口,此时看来,接口有时候就是一种协议,真是因为大家都遵循这种协议,使得用户使用的时候,不用每一个数据库写一套连接数据库的方法。是系统的兼容性很强。

interface ConnectDataBase

MySqlConnection implements ConnectDataBase

OracleConnection implements ConnectDataBase

abstract class DataBaseBridge

SelfBridge extends DataBaseBridge

BridgeTest

测试结果:

大家可能发现和适配器模式很像,貌似没差,我也不知道怎么解释。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180908G02N0I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券