当前位置: 首页 > news >正文

结构性设计模式之Bridge(桥接)

结构性设计模式之Bridge(桥接)

摘要

桥接模式是一种结构性设计模式,其核心思想是将抽象部分与实现部分分离,使二者能够独立变化。本文通过汽车产品生产案例(产品A/B与颜色红/蓝/黄)展示了桥接模式的应用:将颜色作为独立接口实现,产品类通过组合方式调用颜色功能。关键结构包括抽象产品类(Product)、具体产品类(ProductA)和颜色接口(Color)及其实现类(Red/Blue/Yellow)。该模式适用于需要避免抽象与实现固定绑定的场景,支持通过子类扩展功能,且修改实现不影响客户端代码。代码示例演示了如何为不同产品动态配置颜色。

前言:
用自己的话理解桥接模式,做到解耦,抽象层和实现层都可单独的变化。
本代码实现逻辑
生产汽车颜色,有黄色、红色、绿色。产品A、产品B… 都是有这几个颜色,把产品颜色进行抽取。

1)意图

将抽象部分于其实现部分分离,使它们都可以独立的变化。

2)结构
在这里插入图片描述
3)适用性(了解)

Bridge 模式适用于:

不希望在抽象和它的实现部分之间有一个固定的绑定关系。

类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。

对一个抽象的实现部分的修改对应客户不产生影响,

代码:

/*** @author psd* 结构性设计模式之桥接模式*/
public class BridgePattern {public static void main(String[] args) {Product product = new ProductA();product.setName("产品A");product.setColor(new Blue());product.operation();Product product1  = new ProductA();product1.setName("产品B");product1.setColor(new Red());product1.operation();}
}abstract class Product{private String name;protected Color color;public abstract void operation();public String getName() {return name;}public void setName(String name) {this.name = name;}public Color getColor() {return color;}public void setColor(Color color) {this.color = color;}
}class ProductA extends Product{@Overridepublic void operation() {color.operation(this.getName());}
}interface Color{void operation(String name);
}class Yellow implements Color{@Overridepublic void operation(String name) {System.out.println("黄色 " + name);}
}class Blue implements Color{@Overridepublic void operation(String name) {System.out.println("蓝色 " + name);}
}class Red implements Color{@Overridepublic void operation(String name) {System.out.println("红色 " + name);}
}

喜欢我的文章记得点个在看,或者点赞,持续更新中ing…

相关文章:

  • Python----目标检测(《用于精确目标检测和语义分割的丰富特征层次结构》和R-CNN)
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.4 R语言解题
  • 纯数据挖掘也能发Microbiome?
  • 基于大数据的个性化购房推荐系统设计与实现(源码+定制+开发)面向房产电商的智能购房推荐与数据可视化系统 基于Spark与Hive的房源数据挖掘与推荐系统设计
  • MCP入门实战(极简案例)
  • OPC Client第6讲(wxwidgets):Logger.h日志记录文件(单例模式);登录后的主界面
  • 基于python脚本进行Maxwell自动化仿真
  • 零基础开始的网工之路第十六天------Linux日志管理
  • 【AI论文】论文转海报:迈向从科学论文到多模态海报的自动化生成
  • 详解GPU
  • DAY 14 SHAP库的绘制
  • DrissionPage ChromiumPage模式:浏览器自动化的高效利器
  • 【MySQL】联合查询(下)
  • 小白畅通Linux之旅-----Linux安全管理
  • 位集合(STL bitset)简介
  • 论文略读: STREAMLINING REDUNDANT LAYERS TO COMPRESS LARGE LANGUAGE MODELS
  • 霹雳吧啦Wz_深度学习-图像分类篇章_1.1 卷积神经网络基础_笔记
  • Ubuntu 和 Linux 命令行是高度通用的
  • MySql(六)
  • 【大模型02】Deepseek使用和prompt工程
  • wordpress 添加版权/南宁百度快速优化
  • 海南省人才在线/端点seo博客
  • 农产品电商网站建设的主要工作/推广怎么做才可以赚钱
  • 招聘网站排行榜/惠州关键词排名优化
  • 专业的徐州网站开发/百度广告代理商加盟
  • 小精灵网站在线做语文/网站排名软件利搜