首页 > 基础资料 博客日记

Bridge Pattern

2023-09-05 22:55:45基础资料围观225

本篇文章分享Bridge Pattern,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识

What is Bridge Pattern

桥接模式(Bridge Pattern),旨在将抽象部分和实现部分解耦,使它们可以独立地变化。该模式通过将抽象和实现分离,使它们可以独立地进行扩展和修改,同时通过桥接(Bridge)将它们连接起来。

将一个事物原本耦合在一起的东西,通过定义成抽象和实现两个维度,做到解耦,解耦就是为了能组成更多的组合

怎么划分抽象和现实?
在桥接模式中,抽象部分和实现部分是两个相对的概念,只是用于表示系统中的两个不同维度或变化的方向,谁是抽象、谁是具体并不是很重要,重要的是解耦出两个维度就行。

Example

好的,下面是一个用 Java 代码举例说明桥接模式的示例:
首先,我们考虑一个图形绘制的场景,其中有多种不同的图形(如圆形、矩形)和多种不同的颜色(如红色、蓝色)。我们将使用桥接模式来实现图形和颜色的解耦。

定义抽象

// 定义抽象部分的接口 Shape,其中声明了绘制图形的抽象方法
public interface Shape {
    void draw();
}

// 定义实现部分的接口 Color,其中声明了填充颜色的抽象方法
public interface Color {
    void fill();
}

//接着,实现具体的图形类,例如 Circle 和 Rectangle:
public class Circle implements Shape {
    private Color color;

    public Circle(Color color) {
        this.color = color;
    }

    public void draw() {
        System.out.print("绘制圆形,");
        color.fill();
    }
}

public class Rectangle implements Shape {
    private Color color;

    public Rectangle(Color color) {
        this.color = color;
    }

    public void draw() {
        System.out.print("绘制矩形,");
        color.fill();
    }
}

具体的颜色类,例如 RedColor 和 BlueColor:

public class RedColor implements Color {
    public void fill() {
        System.out.println("填充红色");
    }
}

public class BlueColor implements Color {
    public void fill() {
        System.out.println("填充蓝色");
    }
}

最后,在客户端代码中使用桥接模式来绘制图形:

public class Client {
    public static void main(String[] args) {
        Shape circle = new Circle(new RedColor());
        circle.draw();

        Shape rectangle = new Rectangle(new BlueColor());
        rectangle.draw();
    }
}

out

绘制圆形,填充红色
绘制矩形,填充蓝色

文章来源:https://www.cnblogs.com/mysticbinary/p/17681110.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云