设计模式-桥接模式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/95042996

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

1.优点

  • 由于抽象与实现分离,所以扩展能力强;
  • 其实现细节对客户透明。

2.代码示例

2.1 实现化角色
public interface Implementor {

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

    protected Implementor imple;
    protected Abstraction(Implementor imple) {
        this.imple=imple;
    }
    public abstract void Operation();
}
2.3 拓展抽象化角色
public class RefinedAbstraction extends Abstraction {

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

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

没有更多推荐了,返回首页