设计模式之桥接模式(面试准备)

桥接模式bridge
桥接模式是将抽象部分与它的实现部分分离,使他们都可以独立地变化。他是一种对象结构型模式,又称为柄题模式或接口模式。

设计模式之桥接模式(面试准备)_第1张图片
传统的模式是多重的继承,台式电脑继承电脑类,下面的联想台式继承台式电脑
这样的继承方式造成了它的耦合性很高,扩展性不高,例如新增加一个小米品牌,需要增加小米台式电脑,小米笔记本,小米平板
新增加一个手表类,也是需要增加不同品牌的手表,这样就违背了OOP的单一职责原则

那么桥接模式就充分解决了这个问题
将刚才的多继承抽象成图表
设计模式之桥接模式(面试准备)_第2张图片
品牌类:
设计模式之桥接模式(面试准备)_第3张图片
苹果品牌:

设计模式之桥接模式(面试准备)_第4张图片
联想品牌:
设计模式之桥接模式(面试准备)_第5张图片
戴尔品牌:
设计模式之桥接模式(面试准备)_第6张图片
电脑类:
设计模式之桥接模式(面试准备)_第7张图片
台式类:
设计模式之桥接模式(面试准备)_第8张图片
笔记本类:
设计模式之桥接模式(面试准备)_第9张图片
平板类:
设计模式之桥接模式(面试准备)_第10张图片
测试:
设计模式之桥接模式(面试准备)_第11张图片
思维图:
设计模式之桥接模式(面试准备)_第12张图片

通过以上代码我们发现,当去增加一个手表或者平板时,只需要去继承电脑类就可以完成了,他跟各个品牌之间不影响,每个品牌增加也是互不影响的,电脑和品牌两个类互不影响,他们之间是通过桥接相连,就是在电脑类上组合进来品牌类,这样当客户端进行校验的时候,需要什么之间在电脑的构造函数中添加相应的品牌就行

设计模式之桥接模式(面试准备)_第13张图片
设计模式之桥接模式(面试准备)_第14张图片

设计模式之桥接模式(面试准备)_第15张图片
设计模式之桥接模式(面试准备)_第16张图片
设计模式之桥接模式(面试准备)_第17张图片

你可能感兴趣的:(设计模式,桥接模式)