桥接模式

60 阅读1分钟

原理

桥接模式将抽象部分与实现部分分离,使它们都可以独立地变化

  • Abstraction(抽象方):抽象方的接口,持有实现方接口的引用
  • AbstractionImpl(抽象方实现):抽象方的实现
  • Implementor(实现方):实现方接口
  • ConcreteImplementor:实现方实现

UML类图

image.png

代码示例

/**
 * 抽象方
 */
public abstract class Abstraction {

    /**
     * 桥接实现类
     */
    protected Implementor implementor;

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

    protected abstract void operate();
}


/**
 * 抽象方
 */
public abstract class Abstraction {

    /**
     * 桥接实现类
     */
    protected Implementor implementor;

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

    protected abstract void operate();
}
/**
 * 实现方
 */
public interface Implementor {

    void implement();
}
/**
 * 实现方实现
 */
public class ConcreteImplementor implements Implementor {
    @Override
    public void implement() {
        System.out.println("ConcreteImplementor");
    }
}