设计模式 – 桥接模式(Bridge Pattern)

内容纲要

桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象和实现解耦,使得它们可以独立地变化。桥接模式主要用于解决两个独立维度变化的问题,使得抽象部分和实现部分可以在不影响彼此的情况下独立地进行变化。

以下是一个简单的Java实现:

  1. 创建实现接口(Implementor Interface),表示实现部分的接口:
public interface Implementor {
    void operationImpl();
}
  1. 创建具体实现类(Concrete Implementor),实现实现接口:
public class ConcreteImplementorA implements Implementor {
    @Override
    public void operationImpl() {
        System.out.println("Concrete Implementor A: Operation Implementation");
    }
}

public class ConcreteImplementorB implements Implementor {
    @Override
    public void operationImpl() {
        System.out.println("Concrete Implementor B: Operation Implementation");
    }
}
  1. 创建抽象类(Abstraction),包含一个实现接口的引用:
public abstract class Abstraction {
    protected Implementor implementor;

    public Abstraction(Implementor implementor) {
        this.implementor = implementor;
    }

    public abstract void operation();
}
  1. 创建具体抽象类(Refined Abstraction),继承抽象类:
public class RefinedAbstraction extends Abstraction {
    public RefinedAbstraction(Implementor implementor) {
        super(implementor);
    }

    @Override
    public void operation() {
        System.out.println("Refined Abstraction: Operation");
        implementor.operationImpl();
    }
}
  1. 使用桥接模式创建对象:
public class Main {
    public static void main(String[] args) {
        Implementor implementorA = new ConcreteImplementorA();
        Abstraction abstractionA = new RefinedAbstraction(implementorA);
        abstractionA.operation();

        Implementor implementorB = new ConcreteImplementorB();
        Abstraction abstractionB = new RefinedAbstraction(implementorB);
        abstractionB.operation();
    }
}

运行上述代码,你将看到:

Refined Abstraction: Operation
Concrete Implementor A: Operation Implementation
Refined Abstraction: Operation
Concrete Implementor B: Operation Implementation

桥接模式将抽象和实现解耦,使得它们可以独立地变化。这种模式在需要解决两个独立维度变化的问题时非常有用,因为它可以让抽象部分和实现部分在不影响彼此的情况下独立地进行变化。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward