桥接模式

简介

定义: 将抽象部分与实现部分分离,使它们都可以独立地变化。

使用场景:

  • 跨平台图形系统

  • 不同数据库的访问

  • 不同消息队列的实现

实现要点:

  • 抽象部分持有实现部分的引用

  • 两个维度独立变化

  • 避免继承爆炸

UML

spinner

代码示例

  1. 绘画API接口,桥接模式的实现模块

public interface DrawingAPI {
    
    /**
     * 绘制圆形
     * @param x 圆心X坐标
     * @param y 圆心Y坐标
     * @param radius 半径
     * @param color 颜色
     */
    void drawCircle(int x, int y, int radius, String color);
    
    /**
     * 绘制矩形
     * @param x 左上角X坐标
     * @param y 左上角Y坐标
     * @param width 宽度
     * @param height 高度
     * @param color 颜色
     */
    void drawRectangle(int x, int y, int width, int height, String color);
    
    /**
     * 绘制三角形
     * @param x1 第一个点X坐标
     * @param y1 第一个点Y坐标
     * @param x2 第二个点X坐标
     * @param y2 第二个点Y坐标
     * @param x3 第三个点X坐标
     * @param y3 第三个点Y坐标
     * @param color 颜色
     */
    void drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3, String color);
    
    /**
     * 获取API名称
     */
    String getAPIName();
}
  1. 绘画API的实现

  1. 形状抽象类,桥接模式的抽象模块

  1. 形状抽象的类具体实现

  1. 使用方式

Last updated