首页 > 编程语言 >Java学设计模式之桥接模式

Java学设计模式之桥接模式

时间:2024-05-09 16:46:31浏览次数:23  
标签:Java 桥接 void color applyColor Color 设计模式 public

一、桥接模式概念

1.1 什么是桥接模式

桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化。桥接模式通过将抽象部分和实现部分分离来解决多维度变化的问题,从而提高了系统的灵活性和可扩展性。

结构

桥接模式通常由以下几个部分组成:

  1. Abstraction(抽象类): 定义了抽象部分的接口,并维护一个指向实现部分的引用。
  2. RefinedAbstraction(扩充抽象类): 扩展了抽象部分的接口,通常需要实现更多的功能。
  3. Implementor(实现接口): 定义了实现部分的接口,通常是一些基本操作。
  4. ConcreteImplementor(具体实现类): 实现了实现部分的接口,提供了具体的实现。

二、桥接模式代码

2.1 实现接口

public interface Color {
    void applyColor();
}

2.2 具体实现类

public class Green implements Color {
    @Override
    public void applyColor() {
        System.out.println("Applying green color");
    }
}
public class Red implements Color{
    @Override
    public void applyColor() {
        System.out.println("Applying red color");
    }
}

2.3 抽象类

public abstract class Shape {
    protected Color color;

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

    abstract void applyColor();
}

2.4 扩充抽象类

public class Circle extends Shape{
    public Circle(Color color) {
        super(color);
    }

    @Override
    void applyColor() {
        System.out.print("Circle filled with color: ");
        color.applyColor();
    }
}
public class Square extends Shape {
    public Square(Color color) {
        super(color);
    }

    @Override
    void applyColor() {
        System.out.print("Square filled with color: ");
        color.applyColor();
    }
}

2.5 测试类

public class BridgePatternTest {
    public static void main(String[] args) {
        Shape redCircle = new Circle(new Red());
        redCircle.applyColor();
        Shape greenSquare = new Square(new Green());
        greenSquare.applyColor();
        // 输出:
        // Circle filled with color: Applying red color
        // Square filled with color: Applying green color
    }
}

三、总结

桥接模式的优点包括:

  • 分离了抽象部分和实现部分,使它们可以独立地变化。
  • 提高了系统的灵活性和可扩展性,可以方便地添加新的抽象部分和实现部分。

缺点包括:

  • 增加了系统的复杂性,需要额外的抽象和实现类来实现分离。
  • 客户端需要了解抽象部分和实现部分之间的关系,可能会增加理解成本。

标签:Java,桥接,void,color,applyColor,Color,设计模式,public
From: https://www.cnblogs.com/Linzj5950/p/18182584

相关文章

  • VMWare Workstation安装CentOS7使用桥接模式无法ping通问题
    无线网络下VMWare+CentOS7使用桥接模式无法联通网络问题_vmwarecentos桥接模式连不上网-CSDN博客编辑->虚拟网络编辑器VMnet0自动模式不行,要选择对应的网卡;可在网络连接里等方式查看网卡名称;不是管理员身份运行VMWareWorkstation默认不显示VMnet0,右下角有个啥按钮,点击一下......
  • 第二届数信杯南区wp-easyJava
    writeupeasyJava用EclipseMemoryAnalyzer进行分析,利用OQL查找字符串这里要写正则表达式:我写了\\u.*意思是找unicode字符串,因为这里的中文都做了unicode编码搜索到这么一个字符串列表,转码——红色框框里的是还原后的内容。如下:想跟你说一个小秘密:我把码表修改成了......
  • 设计模式的定义
    创建型模式简单工厂模式提供一个工厂类,根据传入参数来决定创建具体的产品类的实例。抽象工厂模式提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类;用于解决多个类型产品的创建问题。建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建......
  • Java-线程-线程池
    0.背景参考资料:Java线程池实现原理及其在美团业务中的实践在Java早期,每次创建线程时,都要涉及到线程的创建、销毁以及资源管理,这对于系统的性能和资源利用率是一种浪费。因此,Java提供了线程池的概念,以提高线程的管理效率和性能。资源管理优化:传统的线程创建和销毁需要涉......
  • Java学设计模式之装饰器模式
    一、模式概念1.1什么是模式装饰模式是一种结构型设计模式,它允许向现有对象动态添加新功能,同时又不改变其结构。装饰模式通过将对象放置在包装器类中,然后在运行时动态地向对象添加新的行为或责任,从而实现这一目的。结构装饰模式通常由以下几个部分组成:Component(组件):定义一......
  • Java学设计模式之适配器模式
    一、适配器模式概念1.1什么是适配器模式适配器模式是一种结构型设计模式,它提供了一种将不兼容的接口转化为兼容的接口的方式,从而使原本无法一起工作的类可以协同工作。适配器模式可以分为两种:对象适配器和类适配器。1.2对象适配器对象适配器通过组合的方式,将不兼容的接口适......
  • Java学设计模式之原型模式
    一、原型模式概念原型模式是一种创建型设计模式,其核心思想是通过复制现有对象来创建新对象,而不是通过实例化类来创建。这种方式可以提高创建对象的效率,特别是当对象的创建过程比较昂贵或复杂时。在原型模式中,原型对象是一个已经存在的对象,它作为新对象的模板。新对象通过复制原......
  • 国密算法SM3-java实现
    maven依赖<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.56</version></dependency> SM3Utilsimportorg.bouncycastle.crypto.digests.SM3Dig......
  • 国密算法SM4-java实现
    Maven依赖<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.56</version></dependency>SM4importjava.io.ByteArrayInputStream;importjava.......
  • Java学设计模式之建造者模式
    一、建造者模式概念1.1什么是建造者模式建造者模式是一种创建型设计模式,用于将一个复杂对象的构建过程与其表示分离,以便同样的构建过程可以创建不同的表示。它允许客户端通过相同的构建过程来构建不同的产品。建造者模式通常涉及以下几个角色:产品(Product):表示被构建的复杂对......