设计模式之 桥接模式

 

桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。

这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。

 

简单点说,就是处理 包含 与 被包含 两部分的解耦关系(“包含”说得也不是很准确,暂时想不到合适的词,就先用这个词),就像 手机和手机上的软件、咖啡杯和咖啡杯里的咖啡、图像和图像染的颜色  一样 。

举个例子:

咖啡店营业,菜单里面有 摩卡、拿铁、卡布奇诺  三种咖啡,每种都对应有 大、中、小 三种规格。

为了满足客人的各种需求,该怎么把杯子的大小和咖啡的种类联系在一起呢?大杯摩卡、中杯摩卡、小杯摩卡、大杯拿铁...

如果把 杯子规格和咖啡种类 绑死在一起,三种咖啡豆都有自己特有的规格,那就要准备 3*3=9 种杯子了。

看到这里,你可能会觉得这种做法很笨,不会有人这么做。因为这个例子很简单,生活中一般不会有人这么做,这都成为了一种常识。那你们可以想一下其他例子---蜡笔和画笔的对比(蜡笔就是把规格和颜色绑定死了的,但画笔是分离开的)

其实我们都知道正确的做法是,只要 准备三种规格的杯子 就想行了,不同需求再倒入不同的咖啡。这个时候,咖啡杯的规格和具体的咖啡就分隔开了,彼此的改变都不会影响到对方。这个就是用到了桥接模式。

 

因为 该模式的类图 就像 一座桥 ,所以称为 “桥接模式” 。(小编比较懒,后面再补上类图)

 

 

共同学习,共同进步,若有补充,欢迎指出,谢谢!

posted @ 2019-10-15 10:35  逆水行舟,平原走马  阅读(182)  评论(0编辑  收藏  举报