前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式-桥接模式

设计模式-桥接模式

作者头像
cwl_java
发布2019-10-26 20:46:46
5890
发布2019-10-26 20:46:46
举报
文章被收录于专栏:cwl_Javacwl_Javacwl_Java

桥接(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();
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.优点
  • 2.代码示例
    • 2.1 实现化角色
      • 2.2 抽象化角色
        • 2.3 拓展抽象化角色
          • 2.4 具体实现化的角色
            • 2.5 测试用例
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档