设计模式——桥接设计模式(Bridge)

代码:GitHub

桥接设计模式(品牌+产品)

0. UML结构图

桥接模式UML结构图

1.品牌

1.1 品牌接口

public interface Brand {

    String name();

}

1.2 格力

public class Gree implements Brand {

    @Override
    public String name() {
        return "Gree";
    }

}

1.3 美的

public class Media implements Brand {

    @Override
    public String name() {
        return "Media";
    }

}

2. 设备

2.1 设备基类(用于桥接品牌)

public abstract class Equipment {

    protected Brand brand;

    public Equipment(Brand brand) {
        this.brand = brand;
    }

    public abstract void sale();

}

2.2 空调

public class AirConditioner extends Equipment {

    public AirConditioner(Brand brand) {
        super(brand);
    }

    @Override
    public void sale() {
        System.out.println(brand.name() + " AirConditioner sale");
    }

}

2.3 冰箱

public class Fridge extends Equipment {

    public Fridge(Brand brand) {
        super(brand);
    }

    @Override
    public void sale() {
        System.out.println(brand.name() + " Fridge sale");
    }

}

2.4 电风扇

public class ElectricFan extends Equipment {

    public ElectricFan(Brand brand) {
        super(brand);
    }

    @Override
    public void sale() {
        System.out.println(brand.name() + " ElectricFan sale");
    }

}

3. 桥接模式调用Test

public class BridgeTest {

    public static void main(String[] args) {
        Equipment equipment = new AirConditioner(new Gree());
        equipment.sale();

        Equipment equipment2 = new ElectricFan(new Media());
        equipment2.sale();
        
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值