设计模式桥接

桥接模式


设计原则:遵循单一职责、迪米特、开闭原则,体现功能复用
常用场景:一个对象有多个维度的变化,需要将这些维度抽离出来,让其独立变化
使用概率:20%
复杂度:中高
变化点:维度的扩展与增加
选择关键点:是否可以将对象拆分成多个不相关的维度
逆鳞:无


主要思想:
桥接类 实际也相当于一个组合类,该类持有不同接口或抽象类的对象,使用时赋予不同的子类
说是桥就是一个连接
比如 接口1 实现类11 实现类12
接口2 实现类21 实现类22
桥持有接口1、2 那么就桥接实现11、21或11、22等



public interface MyInterface1 {
    public void do1();
}


public interface MyInterface2 {
    public void do2();
}

public class MyImplement11 implements MyInterface1{
    @Override
    public void do1() {
        System.out.println("11");
    }
}

public class MyImplement12 implements MyInterface1 {
    @Override
    public void do1() {
        System.out.println("12");
    }
}

public class MyImplement21 implements MyInterface2{
    @Override
    public void do2() {
        System.out.println("21");
    }
}

public class MyImplement22 implements MyInterface2 {
    @Override
    public void do2() {
        System.out.println("21");
    }
}


public class MyBridge {
    //桥接 接口1、2的实现类,赋值不同实现类,桥连接就改变了
    private MyInterface1 interface1;
    private MyInterface2 interface2;


    public void dosomething(){
        interface1.do1();
        interface2.do2();
    };

    public void setInterface1(MyInterface1 interface1) {
        this.interface1 = interface1;
    }

    public void setInterface2(MyInterface2 interface2) {
        this.interface2 = interface2;
    }
}
原文地址:https://www.cnblogs.com/zhaojj/p/7772846.html