橋接模式的目標(biāo)是使對象的抽象部分與實現(xiàn)部分分離,使之可以分別獨立變化,以盡量避免產(chǎn)生耦合。
下圖以繪制圓形為例:圓形的顏色通過接口類DrawAPI及其2個實現(xiàn)類RedCircle以及GreenCircle實現(xiàn);圓形的坐標(biāo)以及半徑通過抽象類及其擴(kuò)展類實現(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+",坐標(biāo):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+",坐標(biāo):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擴(kuò)展類:
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文章
769瀏覽量
64268 -
API接口
+關(guān)注
關(guān)注
1文章
114瀏覽量
11250
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
關(guān)于橋接模式遇到的問題
VMware使用橋接模式,已經(jīng)手動設(shè)置ip地址和主機(jī)ip同一網(wǎng)段,但是ifconfig顯示的ip地址卻和vmnet8(NAT)同一網(wǎng)段?怎么解決?
發(fā)表于 10-16 15:06
COM和CORBA的橋接與應(yīng)用
根據(jù)CORBA規(guī)范,闡述了橋接組件的體系結(jié)構(gòu)和六種橋接模型,并引申出八種橋接方式,比較了各種
發(fā)表于 02-27 16:07
?29次下載
DS31256 HDLC控制器的配置步驟—橋接模式
DS31256 HDLC控制器的配置步驟—橋接模式
本應(yīng)用筆記提供了怎樣配置橋接模式下DS31
發(fā)表于 04-21 14:59
?1899次閱讀
網(wǎng)橋和橋接,網(wǎng)橋和橋接是什么意思
網(wǎng)橋和橋接,網(wǎng)橋和橋接是什么意思
網(wǎng)橋(Bridge)也稱橋接器,是連接兩個局域網(wǎng)的存儲轉(zhuǎn)發(fā)設(shè)備,用它可以完成具有相同或相似體系
發(fā)表于 03-20 16:03
?1.3w次閱讀
設(shè)計模式結(jié)構(gòu)性:橋接模式
橋接模式不是將兩個不相干的類鏈接,而是將一個需要多維度變化的類拆分成抽象部分和實現(xiàn)部分,并且在抽象層對兩者做組合關(guān)聯(lián),是用組合的方式來解決繼承的問題。
遠(yuǎn)程網(wǎng)關(guān)橋接模式實現(xiàn)同一局域網(wǎng)組網(wǎng)管理(Superlink)
遠(yuǎn)程網(wǎng)關(guān)橋接模式配置介紹及示例功能簡述智聯(lián)物聯(lián)遠(yuǎn)程網(wǎng)關(guān)橋接模式,是指電腦側(cè)Superlink遠(yuǎn)程
橋接模式應(yīng)用場景
1、什么是橋接模式? Decouple an abstraction from its implementation so that the two can vary independently.
路由器橋接路由器怎樣橋接 路由器橋接好還是中繼好
路由器橋接和中繼是常用的網(wǎng)絡(luò)擴(kuò)展方式,用于擴(kuò)大網(wǎng)絡(luò)覆蓋范圍,提供更好的網(wǎng)絡(luò)連接。這兩種方式在不同的場景下有著各自的優(yōu)勢,下面將詳細(xì)介紹如何橋接路由器,以及
網(wǎng)絡(luò)橋接模式是什么? 網(wǎng)絡(luò)橋接模式和路由模式的區(qū)別
網(wǎng)絡(luò)橋接模式是一種網(wǎng)絡(luò)連接方式,它可以將多個設(shè)備連接在一起,使它們可以相互通信。在網(wǎng)絡(luò)橋接模式下
橋接與路由的區(qū)別 橋接網(wǎng)絡(luò)技術(shù)的應(yīng)用
(即第二層)的地址MAC來完成數(shù)據(jù)包轉(zhuǎn)發(fā)。它通常用于連接同一網(wǎng)絡(luò)層(如VLAN內(nèi)或相同VRF內(nèi))的主機(jī),使它們能夠相互通信。橋接的工作原理類似于交換機(jī)或網(wǎng)橋,它們通過識別數(shù)據(jù)包的目標(biāo)MAC地址,將其轉(zhuǎn)發(fā)到正確的端口或鏈路上。 路
橋接故障排除技巧
在現(xiàn)代網(wǎng)絡(luò)環(huán)境中,橋接技術(shù)是連接不同網(wǎng)絡(luò)段的關(guān)鍵組件。它不僅提高了網(wǎng)絡(luò)的靈活性,還增強(qiáng)了數(shù)據(jù)傳輸?shù)男?。然而?b class='flag-5'>橋接設(shè)備和配置可能會出現(xiàn)各種問題,導(dǎo)致網(wǎng)絡(luò)連接中斷或性能下降。 一、了解
橋接模式的目標(biāo)與設(shè)計
評論