桥接模式

桥接模式

demo

这里写图片描述

public class BridgeDemo {
    public static void main(String[] args) {
        RenderService renderService = new RenderService(new DrawApi() {
            @Override
            public void draw() {
                System.out.println("draw red circle");
            }
        });
        renderService.draw();

        RenderService renderService1 = new RenderService(() ->
                System.out.println("draw blue triangle")
        );
        renderService1.draw();
    }
}

class RenderService {
    private DrawApi drawApi;

    RenderService(DrawApi drawApi) {
        this.drawApi = drawApi;
    }

    public void draw() {
        drawApi.draw();
    }
}

interface DrawApi {
    void draw();
}

桥接模式的核心

  • 外层服务面向接口编程
  • 真正使用外层服务时,根据注入的接口实现类,决定采用哪个实现方法

桥接模式与策略模式

  • 桥接模式中,外层服务不需要知道接口实现类的存在与区别。仅在使用外层服务时,由调用方注入接口实现类
  • 策略模式中,需要注入接口的所有实现类,根据策略选择相应的实现类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值