资讯专栏INFORMATION COLUMN

桥接模式(Bridge)

lewinlee / 1363人阅读

摘要:桥接模式一桥接模式定义把抽象化和实现化解耦,使得二者可以独立变化角色业务抽象角色业务实现角色二具体实现创建业务实现的接口创建业务实现的具体实现类创建业务抽象的抽象类创建业务抽象的实现类调用输出三优缺点优点抽象与实现的解耦缺点增加系统设计难度

桥接模式

一.桥接模式 1.1 定义

把抽象化和实现化解耦,使得二者可以独立变化.

1.2 角色

业务抽象角色(Implementor).

业务实现角色(Abstraction).

二. 具体实现 2.1 创建业务实现的接口
    public interface IImplementor {
        void print();
    }
2.2 创建业务实现的具体实现类
    public class ImplementorA implements IImplementor{
        @Override
        public void print() {
            System.out.println(this.getClass().getSimpleName());
        }
    }
    public class ImplementorB implements IImplementor{
        @Override
        public void print() {
            System.out.println(this.getClass().getSimpleName());
        }
    }
2.3 创建业务抽象的抽象类
    public abstract class Abstraction {
        IImplementor implementor;
        public void print(){
            implementor.print();
        }
    }
2.4 创建业务抽象的实现类
    public class ConcreteAbstraction extends Abstraction{
        public ConcreteAbstraction(IImplementor implementor){
            super.implementor = implementor;
        }
        public void print(){
            super.print();
        }
    }
2.5 调用
    public static void main(String[] args) {
        Abstraction abstraction = new ConcreteAbstraction(new ImplementorA());
        abstraction.print();
        abstraction = new ConcreteAbstraction(new ImplementorB());
        abstraction.print();
    }
2.6 输出
    ImplementorA
    ImplementorB
三. 优缺点 3.1 优点

抽象与实现的解耦.

3.2 缺点

增加系统设计难度.

四. 源码
     https://github.com/Seasons20/DisignPattern.git

END

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69427.html

相关文章

  • PHP设计模式(八)桥接模式Bridge For PHP)

    摘要:桥接设计模式桥接模式将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。模拟企业分组发送短信需求公司现在需要按分组临时工正式工管理层等以多种形式微博等给员工发送通知。 桥接设计模式 桥接模式:将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。 案例 模拟毛笔 需求:现在需要准备三种粗细(大中小),并且有五种颜色的比 如果使用蜡...

    K_B_Z 评论0 收藏0
  • 听飞狐聊JavaScript设计模式系列11

    摘要:桥接模式之特权函数特权函数,用一些具有特权的方法作为桥梁以便访问私有空间,可以回忆一下之前的系列。连续自然数分组,计算最多组的个数将至这个连续自然数分成组使每组相加的值相等。个数组中数字最多的一组有个此时的和为。 本回内容介绍 上一回,聊了适配器模式,图片预加载,介一回,聊桥接模式(Bridge),跟之前一样,难度比较小,桥接模式将抽象部分与它的实现部分分离,通过桥接模式联系彼此,同时...

    wanglu1209 评论0 收藏0
  • Ubuntu 18.04 LTS安装KVM虚拟机

    摘要:前一阵使用在最新的上安装了来虚拟一个小的集群,将主要过程和其中遇到的一些问题记录下来。上面命令执行结果如果返回,表示不支持虚拟化技术。 showImg(https://segmentfault.com/img/bVbcRjF?w=634&h=473); 前一阵使用在最新的Ubuntu 18.04上安装了KVM来虚拟一个小的VM集群,将主要过程和其中遇到的一些问题记录下来。 准备工作 首...

    denson 评论0 收藏0
  • 一起学设计模式 - 桥接模式

    摘要:桥接模式属于结构型模式的一种,用于把抽象化与实现化解耦,使得二者可以独立变化,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。相关模式装饰模式与桥接模式在一定程度上都是为了减少子类的数目,避免出现复杂的继承关系。 桥接模式(Brideg Pattern)属于结构型模式的一种,用于把抽象化与实现化解耦,使得二者可以独立变化,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解...

    tinysun1234 评论0 收藏0

发表评论

0条评论

lewinlee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<