0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

橋接模式的目標與設(shè)計

冬至子 ? 來源:全棧開發(fā)的碼農(nóng) ? 作者:全棧開發(fā)的碼農(nóng) ? 2023-06-01 14:29 ? 次閱讀

橋接模式的目標是使對象的抽象部分與實現(xiàn)部分分離,使之可以分別獨立變化,以盡量避免產(chǎn)生耦合。

下圖以繪制圓形為例:圓形的顏色通過接口類DrawAPI及其2個實現(xiàn)類RedCircle以及GreenCircle實現(xiàn);圓形的坐標以及半徑通過抽象類及其擴展類實現(xiàn),在實現(xiàn)draw()方法時,直接使用DrawAPI類中的相關(guān)對象的drawCircle方法。

圖片

DrawAPI接口類:

package bridge;
public interface DrawAPI {
  public void drawCircle(int radius, int x, int y);
}

RedCircle實現(xiàn)類:

package bridge;
public class RedCircle implements DrawAPI{
  @Override
  public void drawCircle(int radius, int x, int y) {
    System.out.println("畫紅色圓,半徑"+radius+",坐標:x="+x+",y="+y);
  }
}

GreenCircle實現(xiàn)類:

package bridge;
public class GreenCircle implements DrawAPI{
  @Override
  public void drawCircle(int radius, int x, int y) {
    System.out.println("畫綠色圓,半徑"+radius+",坐標:x="+x+",y="+y);  
  }
}

Shape抽象類:

package bridge;
public abstract class Shape {
  protected DrawAPI drawAPI;
  protected Shape(DrawAPI drawAPI) {
    this.drawAPI=drawAPI;
  }
  public abstract void draw();
}

Circle擴展類:

package bridge;
public class Circle extends Shape{
  int x, y, radius;
  public Circle(DrawAPI drawAPI,int x,int y,int radius) {
    super(drawAPI);
    this.x=x;
    this.y=y;
    this.radius=radius;
  }
  @Override
  public void draw() {
    drawAPI.drawCircle(radius, x, y);
  }
}

主函數(shù)調(diào)用方式:

package main;
import bridge.*;
public class BridgePattern {
  public static void main(String[] args) {
    Shape redCircle =new Circle(new RedCircle(),10,10,5);
    Shape greenCircle = new Circle(new GreenCircle(),20,20,6);
    redCircle.draw();
    greenCircle.draw();
  }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 耦合器
    +關(guān)注

    關(guān)注

    8

    文章

    715

    瀏覽量

    59552
  • API接口
    +關(guān)注

    關(guān)注

    1

    文章

    81

    瀏覽量

    10415
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于模式遇到的問題

    VMware使用模式,已經(jīng)手動設(shè)置ip地址和主機ip同一網(wǎng)段,但是ifconfig顯示的ip地址卻和vmnet8(NAT)同一網(wǎng)段?怎么解決?
    發(fā)表于 10-16 15:06

    CentOS靜態(tài)IP配置(模式

    [2018-08-26]-[CentOS]CentOS靜態(tài)IP配置(模式
    發(fā)表于 05-12 08:27

    COM和CORBA的與應(yīng)用

    根據(jù)CORBA規(guī)范,闡述了組件的體系結(jié)構(gòu)和六種模型,并引申出八種方式,比較了各種
    發(fā)表于 02-27 16:07 ?29次下載
    COM和CORBA的<b class='flag-5'>橋</b><b class='flag-5'>接</b>與應(yīng)用

    DS31256 HDLC控制器的配置步驟—模式

    DS31256 HDLC控制器的配置步驟—模式 本應(yīng)用筆記提供了怎樣配置模式下DS31
    發(fā)表于 04-21 14:59 ?1499次閱讀
    DS31256 HDLC控制器的配置步驟—<b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>

    方式電路圖

    方式電路圖
    發(fā)表于 07-16 17:43 ?4996次閱讀
    <b class='flag-5'>橋</b><b class='flag-5'>接</b>方式電路圖

    車載功放的功能

    車載功放的功能              功能是指為增加輸出功率而將車載功放
    發(fā)表于 01-04 11:10 ?3839次閱讀

    網(wǎng)橋和,網(wǎng)橋和是什么意思

    網(wǎng)橋和,網(wǎng)橋和是什么意思 網(wǎng)橋(Bridge)也稱橋接器,是連接兩個局域網(wǎng)的存儲轉(zhuǎn)發(fā)設(shè)備,用它可以完成具有相同或相似體系
    發(fā)表于 03-20 16:03 ?1.3w次閱讀

    D類放大器的方法

    式或全操作利用兩個標準的半式通道形成一個浮動式系載輸出。在
    發(fā)表于 07-14 15:34 ?1682次閱讀
    D類放大器的<b class='flag-5'>橋</b><b class='flag-5'>接</b>方法

    多個路由器如何無線成一個網(wǎng)絡(luò) 路由器教程

    多個路由器如何無線成一個網(wǎng)絡(luò) 路由器教程
    發(fā)表于 09-28 09:25 ?1次下載

    設(shè)計模式結(jié)構(gòu)性:模式

    模式不是將兩個不相干的類鏈接,而是將一個需要多維度變化的類拆分成抽象部分和實現(xiàn)部分,并且在抽象層對兩者做組合關(guān)聯(lián),是用組合的方式來解決繼承的問題。
    的頭像 發(fā)表于 06-08 10:49 ?721次閱讀
    設(shè)計<b class='flag-5'>模式</b>結(jié)構(gòu)性:<b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>

    遠程網(wǎng)關(guān)模式實現(xiàn)同一局域網(wǎng)組網(wǎng)管理(Superlink)

    遠程網(wǎng)關(guān)模式配置介紹及示例功能簡述智聯(lián)物聯(lián)遠程網(wǎng)關(guān)模式,是指電腦側(cè)Superlink遠程
    的頭像 發(fā)表于 04-26 15:32 ?1001次閱讀
    遠程網(wǎng)關(guān)<b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>實現(xiàn)同一局域網(wǎng)組網(wǎng)管理(Superlink)

    模式應(yīng)用場景

    1、什么是模式? Decouple an abstraction from its implementation so that the two can vary independently.
    的頭像 發(fā)表于 10-09 14:30 ?1024次閱讀
    <b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>應(yīng)用場景

    無線和mesh組網(wǎng)哪個好?

    無線和Mesh組網(wǎng)都是用于擴展無線網(wǎng)絡(luò)覆蓋范圍的技術(shù),但它們的工作原理和應(yīng)用場景有所不同。 無線接通常是一對一的連接,相對較容易設(shè)置和維護。它的優(yōu)點在于簡單性,適用于需要建立點對點連接的場景
    的頭像 發(fā)表于 01-19 16:12 ?6650次閱讀

    路由器路由器怎樣 路由器接好還是中繼好

    路由器和中繼是常用的網(wǎng)絡(luò)擴展方式,用于擴大網(wǎng)絡(luò)覆蓋范圍,提供更好的網(wǎng)絡(luò)連接。這兩種方式在不同的場景下有著各自的優(yōu)勢,下面將詳細介紹如何路由器,以及
    的頭像 發(fā)表于 02-20 14:26 ?4276次閱讀

    網(wǎng)絡(luò)模式是什么? 網(wǎng)絡(luò)模式和路由模式的區(qū)別

    網(wǎng)絡(luò)模式是一種網(wǎng)絡(luò)連接方式,它可以將多個設(shè)備連接在一起,使它們可以相互通信。在網(wǎng)絡(luò)模式
    的頭像 發(fā)表于 05-10 13:48 ?3636次閱讀