5.桥接模式

桥接模式(学习自https://juejin.im/post/6844903881101541383

桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。

桥接模式需要先能分出系统中那些独立变化的维度,然后我们再进行分离。桥接模式的思想就是如何进行分离的过程

所有设计模式的思想其实都希望我们更多的去利用组合,而不是继承。所以桥接模式的主要思想就是:将变化的维度抽象为不同的继承体系,每一个维度是自己的一个继承体系,然后通过组合将所需要的这些变化维度拼接为最后的对象。这维度和维度之间的联系组合我们把它称为桥。如下图Color和Pen之间就是一座桥,这个桥所连接是两个继承体系。两个继承体系独立变化。桥接模式主要是用来处理多维度变化的

举例:

pen:

public abstract class Pen {
    Color color;

    public void setColor(Color color) {
        this.color = color;
    }

    abstract void size();
}

pen1:

public class Pen1 extends Pen{

    @Override
    void size() {
        color.Color();
        System.out.println("size:1");
    }
}

color:

public interface Color {
    public abstract void Color();
}

red:

public class Red implements Color{

    @Override
    public void Color() {
        System.out.println("red");
    }
}

test:

public class test {
    public static void main(String[] args) {
        Pen p = new Pen1();
        Color c = new Red();
        p.setColor(c);
        p.size();

    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值