设计模式-桥接模式

2019-10-26 20:46:46 浏览数 (1)

桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。

1.优点
  • 由于抽象与实现分离,所以扩展能力强;
  • 其实现细节对客户透明。
2.代码示例
2.1 实现化角色
代码语言:javascript复制
public interface Implementor {

    /**
     * 功能描述:
     * 〈具体操作的实现类〉
     *
     * @params : []
     * @return : void
     * @author : cwl
     * @date : 2019/6/24 10:50
     */
    void OperationImpl();
}
2.2 抽象化角色
代码语言:javascript复制
public abstract class Abstraction {

    protected Implementor imple;
    protected Abstraction(Implementor imple) {
        this.imple=imple;
    }
    public abstract void Operation();
}
2.3 拓展抽象化角色
代码语言:javascript复制
public class RefinedAbstraction extends Abstraction {

    protected RefinedAbstraction(Implementor imple) {
        super(imple);
    }

    @Override
    public void Operation() {
        System.out.println("扩展抽象化(Refined Abstraction)角色被访问" );
        imple.OperationImpl();
    }
}
2.4 具体实现化的角色
代码语言:javascript复制
public class ConcreteImplementorA implements Implementor {
    
    @Override
    public void OperationImpl() {
        System.out.println("具体实现化(Concrete Implementor)角色被访问" );
    }
}
2.5 测试用例
代码语言:javascript复制
public class BridgeTest {
    public static void main(String[] args) {
        Implementor imple=new ConcreteImplementorA();
        Abstraction abs=new RefinedAbstraction(imple);
        abs.Operation();
    }
}

0 人点赞