5.1 动机

由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,乃至多个纬度的变化。

5.2 模式定义

将抽象部分(业务功能)与实现部分(平台实现)分离,使它们都可以独立地变化。

5.3 案例

我们需要开发这么一个系统这个系统需要功能登录发送信息发送图片播放音乐绘制图形编写文档以及连接功能

于是Messager

但是如果我们这个系统多平台使用PC移动平台播放音乐绘制图形编写文档以及连接功能需要不同实现但是登录发送信息发送图片这三个功能都是一样的如果我们一个一个实现导致类的数目将会:m*n(m表示功能数,n表示平台)

于是我们可以使用模式变化接口封装出去使其独立变化这样类的数目将会降低1+m+n

这种思想其实就是编译时装配转为运行装配模块解耦

使用桥模式实现如下

5.4 桥模式在主流框架中的应用

  • Java AWT(Abstract Window Toolkit)和 Swing 是 Java GUI 编程中常用的框架。在这些框架中,使用桥模式将抽象的组件(如按钮、文本框等)与具体的实现(如 Windows 实现、Linux 实现等)分离开来。例如,Swing 中的 JButton 类是抽象部分,而不同平台上的按钮实现(如 WindowsButton、LinuxButton)则是实现部分。
  • 在 Spring 中,桥模式通常用于将业务逻辑(如服务层、数据访问层)与具体的实现(如数据库、消息队列)解耦。通过使用桥模式,Spring 能够将应用程序的各个组件分离开来,使得它们可以独立演化和测试。
  • 在 Django 中,桥模式可以用于将视图逻辑(如请求处理、数据渲染)与模型逻辑(如数据库访问、数据操作)分离开来。通过使用桥模式,Django 能够提供灵活的数据模型和视图组件,使得开发人员可以更容易地编写和维护 Web 应用程序。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐