1 桥接模式
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式
2 类图
3 实例
package bridge;
public interface Brand {
void info();
}
class HuaWei implements Brand{
@Override
public void info() {
System.out.println("华为");
}
}
class XiaoMi implements Brand{
@Override
public void info() {
System.out.println("小米");
}
}
package bridge;
public abstract class Type {
public Brand brand;
public Type(Brand brand) {
this.brand = brand;
}
public abstract void info();
}
class Computer extends Type {
public Computer(Brand brand) {
super(brand);
}
@Override
public void info() {
brand.info();
System.out.println("电脑");
}
}
class Phone extends Type {
public Phone(Brand brand) {
super(brand);
}
@Override
public void info() {
brand.info();
System.out.println("手机");
}
}
测试
package bridge;
public class Test {
public static void main(String[] args) {
Brand huaWei = new HuaWei();
Computer computer = new Computer(huaWei);
computer.info();
Phone phone = new Phone(huaWei);
phone.info();
}
}
小结:将继承的关系(is-a)转变为组合关系(has-a),可以兼容的类进行组合,多与适配器模式进行组合使用