## 桥接设计模式
###
桥接设计模式和适配器模式类似,桥接设计模式也是一种结构性设计模式。
###
将抽象部分与实现部分分离,是他们都可以独立的变化,通俗来讲,是通过组合来桥接其他的行为或者维度。
###
## 应用场景
###
系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性
###
不想使用继承导致系统类的个数急剧增加的系统
###
有时候一个类,可能会拥有多个变化维度,比如啤酒有不同的容量和品牌,可以使用继承组合的方式进行开发,加入维度很多,就容易出现累得膨胀,使用桥接模式就可以解决这个问题且解耦。
###
## 业务背景
###
我们需要构建⼀个⼿机类,我们知道⼿机有很多品牌,苹果、华为等,从另外⼀个颜⾊维度,⼜有多种颜⾊,红、⻩、蓝等,那如果描述这些类的话,传统⽅式就直接通过继承,就需要特别多的类,品牌2,颜⾊3,就是6个类了,如果后续再增加品牌就更多了,类数⽬将会激增,即所谓的类爆炸
###
使⽤桥接模式就可以解决这个问题,且灵活度⼤⼤提⾼
###
传统的继承方式实现如下图所示:
###
![](https://img.kancloud.cn/fa/92/fa92a89f8e17fc9036637ebac5a93536_1948x974.png)
###
如果我们使用桥接模式实现如下图所示:
###
![](https://img.kancloud.cn/6d/fe/6dfec45ceb1bb065f998c927018923f9_1964x702.png)
###
具体实现(云效代码study-java项目当中设计模式当中有代码案例)
###
![](https://img.kancloud.cn/ee/4e/ee4e32c4e01f5d6f276409b42969e5a2_3356x1878.png)
###
![](https://img.kancloud.cn/23/f2/23f2d8018af5d088ef3f6bcdb410535f_2092x1754.png)
###
## 优点
###
抽象和实现进行了分离
优秀的扩展能力,符合开闭原则
###
## 缺点
###
增加系统的理解与设计难度
使⽤聚合关联关系建⽴在抽象层,要求开发者针对抽象进⾏设计与编程,⽐如抽象类汽⻋,⾥⾯聚合了颜⾊类,有点像对象适配器
###
- 设计模式六大原则
- 常见的三大设计模式分类
- 创建型模式之单例模式
- 单例模式之懒汉
- 单例模式之饿汉
- 单例模式之如何选择懒汉饿汉
- 什么情况下使用单例模式
- 创建型模式之工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 创建型模式之原型模式
- 创建型模式之建造者模式
- 结构型模式之适配器模式
- 接口的适配器模式
- 类的适配器模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式和适配器模式的区别
- 结构型模式之装饰器模式
- 结构型模式之代理模式
- 结构模式之外观模式
- 结构模式之享元模式
- 行为模式之策略模式
- 行为模式之模板模式
- 行为模式之观察者模式
- 行为模式之责任链模式
- 行为模式之命令模式
- 行为模式之迭代器模式
- 行为模式之备忘录模式
- 行为模式之状态模式