设计模式之桥接模式

关于这个桥接模式,最常见的就是jdbc中的driver,在不需要修改上层代码的情况下,通过加载不同的驱动器,可以使用不同 的数据库。

而网上,都说,所谓桥接模式,就是区分,抽象和具体实现的,可以实现解耦,并且还可以实现动态结合,尤其对于,有多维度变化的特征,适合用此模式。

来看图


抽象类(Abstraction):定义抽象类的接口,维护一个指向Implementor类型对象的指针

扩充抽象类(RefinedAbstraction)扩充由Abstraction定义的接口

实现类接口(Implementor)定义实现类的接口,该接口不一定要与 Abstraction的接口完全一致;事实上这两个接口可以完全不同。一般来讲, Implementor接口仅提供基本操作,而 Abstraction则定义了基于这些基本操作的较高层次的操作。

具体实现类(ConcreteImplementor)实现Implementor接口并定义它的具体实现。


如果还是不明白,就是,它是一座桥,从这边通向另外一边的。

说个例子,就是,去奶茶店和奶茶,那你必须要告诉老板,是大,小,中杯?还有要不要加糖??

就这个情景,该怎么设计类?

组合一下有6种,如果,你要传统的继承会发现代码重复很多。怎么办?

那可以设计一个抽象类,杯子,还有一个接口,加糖这个动作。

那么两两组合,就会产生你想要的效果。

注意,抽象类里面的方法,可以和接口里面的方法不同。

而且抽象类里面一直维护着一个接口的实例。


没什么好例子推荐,就看这个吧

http://zz563143188.iteye.com/blog/1847029

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值