模式: 桥接模式
案例: 蓝兔宫主买裙子
什么是桥接模式桥接(Bridge)模式的定义如下: 将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。
优点1、抽象与实现分离,扩展能力强
2、符合开闭原则
3、符合合成复用原则
4、其实现细节对客户透明
缺点由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这增加了系统的理解与设计难度。
知识点可以将抽象化部分与实现化部分分开,取消二者的继承关系,改用组合关系。
桥接模式实现案例: 蓝兔宫主买裙子
裙子分两个维度,分别是颜色和样式。
颜色有黄色和红色;
样式分长裙和短裙;
抽象化(Abstraction)角色: 颜色
扩展抽象化(Refined Abstraction)角色: 黄色和红色
实现化(Implementor)角色: 样式
具体实现化(Concrete Implementor)角色: 长裙和短裙
颜色颜色接口,声明一个show()抽象方法
黄色黄色类并实现颜色接口
红色红色类并实现颜色接口
裙子裙子类,声明一个颜色属性和一个抽象方法
长裙继承裙子类,并实现抽象方法
短裙继承裙子类,并实现抽象方法
测试new一个红色对象作为参数传给长裙。
总结当一个类内部具备两种或多种变化维度时,使用桥接模式可以解耦这些变化的维度,使高层代码架构稳定。
到此这篇关于Java设计模式以虹猫蓝兔的故事讲解桥接模式的文章就介绍到这了,更多相关Java桥接模式内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!