橋接模式

橋接模式

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();
}

橋接模式的核心

  • 外層服務面向接口編程
  • 真正使用外層服務時,根據注入的接口實現類,決定採用哪個實現方法

橋接模式與策略模式

  • 橋接模式中,外層服務不需要知道接口實現類的存在與區別。僅在使用外層服務時,由調用方注入接口實現類
  • 策略模式中,需要注入接口的所有實現類,根據策略選擇相應的實現類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章