橋接模式的目標是使對象的抽象部分與實現(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
發(fā)布評論請先 登錄
相關(guān)推薦
關(guān)于橋接模式遇到的問題
VMware使用橋接模式,已經(jīng)手動設(shè)置ip地址和主機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
?1499次閱讀
網(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),是用組合的方式來解決繼承的問題。
遠程網(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遠程
橋接模式應(yīng)用場景
1、什么是橋接模式? Decouple an abstraction from its implementation so that the two can vary independently.
無線橋接和mesh組網(wǎng)哪個好?
無線橋接和Mesh組網(wǎng)都是用于擴展無線網(wǎng)絡(luò)覆蓋范圍的技術(shù),但它們的工作原理和應(yīng)用場景有所不同。 無線橋接通常是一對一的連接,相對較容易設(shè)置和維護。它的優(yōu)點在于簡單性,適用于需要建立點對點連接的場景
路由器橋接路由器怎樣橋接 路由器橋接好還是中繼好
路由器橋接和中繼是常用的網(wǎng)絡(luò)擴展方式,用于擴大網(wǎng)絡(luò)覆蓋范圍,提供更好的網(wǎng)絡(luò)連接。這兩種方式在不同的場景下有著各自的優(yōu)勢,下面將詳細介紹如何橋接路由器,以及
網(wǎng)絡(luò)橋接模式是什么? 網(wǎng)絡(luò)橋接模式和路由模式的區(qū)別
網(wǎng)絡(luò)橋接模式是一種網(wǎng)絡(luò)連接方式,它可以將多個設(shè)備連接在一起,使它們可以相互通信。在網(wǎng)絡(luò)橋接模式下
評論