-
简介
- 与适配器模式类似,桥接设计模式也是结构型模式
- 将抽象部分与实现部分分离,使它们都可以独立的变化
- 通俗来说,是通过组合来桥接其它的行为/维度
-
应用场景举例
- 传统方式

- 使用桥接设计模式之后

- 传统方式
-
编码示例
java/** * 抽象角色:手机 */ abstract class Phone { /** * 通过组合的方式来桥接其他行为 */ protected Color color; public void setColor(Color color) { this.color = color; } /** * 手机自己的方法 */ public abstract void run(); } /** * 颜色维度 */ interface Color { void useColor(); } /** * 具体颜色 */ class RedColor implements Color { @Override public void useColor() { System.out.println("红色"); } } /** * 具体颜色 */ class BlueColor implements Color { @Override public void useColor() { System.out.println("蓝色"); } } /** * 手机的实例化:小米手机 */ class XiaomiPhone extends Phone { public XiaomiPhone(Color color) { super.setColor(color); } @Override public void run() { System.out.println("小米手机"); color.useColor(); } } /** * 手机的实例化:华为手机 */ class HuaweiPhone extends Phone { public HuaweiPhone(Color color) { super.setColor(color); } @Override public void run() { System.out.println("华为手机"); color.useColor(); } } public class Main { public static void main(String[] args) { XiaomiPhone redXmPhone = new XiaomiPhone(new RedColor()); redXmPhone.run(); XiaomiPhone blueXmPhone = new XiaomiPhone(new BlueColor()); blueXmPhone.run(); HuaweiPhone redHwPhone = new HuaweiPhone(new RedColor()); redHwPhone.run(); HuaweiPhone blueHwPhone = new HuaweiPhone(new BlueColor()); blueHwPhone.run(); } } -
优点
- 抽象和实现的分离
- 优秀的扩展能力,符合开闭原则
-
缺点
- 增加系统的理解与设计难度
- 使用聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程,比如抽象类汽车,里面聚合了颜色类,有点像适配器
-
总结和对比
- 按GOF的说法,桥接模式和适配器模式用于设计的不同阶段
- 桥接模式用于设计的前期,精细化的设计,让系统更加灵活
- 适配器模式用于设计完成之后,发现类、接口之间无法一起工作,需要进行填坑
- 适配器模式经常用在第三方API协同工作的场合,在功能集成需求越来越多的今天,这种模式的使用频度越来越高,包括有些同学听过外观设计模式,这个也是某些场景和适配器模式一样
- 按GOF的说法,桥接模式和适配器模式用于设计的不同阶段
设计模式之桥接设计模式
水宝的滚动歌词2025-01-09 12:37
相关推荐
做前端的娜娜子20 小时前
从 0 到 1 打造一个配置可视化后台:一次前端配置中心化改造的实战复盘执明wa1 天前
Android 开发中的设计模式入门:六大设计原则莫得感情 o1 天前
设计模式 09 · 适配器模式梅头脑2 天前
学了6种设计模式却写出了同事看不懂的代码——SOLID五原则反例对照,治好了我的"过度设计"workflower2 天前
案例:大模型驱动的“发现- 研判- 整改- 验证”全闭环治理体系董员外2 天前
RAG 系统进化论(九):RAG 评测,怎样证明系统真的变好了?西安小哥2 天前
AI时代技术工程师的"道法术器势":学习图谱、成长规划与角色重塑莫得感情 o2 天前
设计模式 08 · 装饰器模式董员外3 天前
RAG 系统进化论(八):Agentic RAG(智能体式 RAG),从回答问题到完成任务董员外3 天前
RAG 系统进化论(七):Multimodal RAG(多模态 RAG),当知识存在于表格、图片和页面中