“大家如果手写过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
测试结果:
大家可能发现和适配器模式很像,貌似没差,我也不知道怎么解释。
领取专属 10元无门槛券
私享最新 技术干货