一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

冬至子 ? 來源:碼農(nóng)架構(gòu) ? 作者:小智 ? 2023-06-08 10:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

橋接模式不是將兩個(gè)不相干的類鏈接,而是將一個(gè)需要多維度變化的類拆分成抽象部分和實(shí)現(xiàn)部分,并且在抽象層對(duì)兩者做組合關(guān)聯(lián),是用組合的方式來解決繼承的問題。

舉個(gè)例子,如果一個(gè)類在兩個(gè)維度分別有m和n種變化,采用繼承的方式就需要擴(kuò)展出m*n個(gè)子類,且一個(gè)維度每增加一種變化就多出另一個(gè)維度變化總數(shù)的子類;如果將兩個(gè)維度拆分再組合,加起來也只有m+n個(gè)子類,且每個(gè)維度獨(dú)立擴(kuò)展,一個(gè)維度增加一種變化只需要增加1個(gè)子類

將倆個(gè)維度分離,使他們可以獨(dú)立變化。又稱為柄體(Handle and Body)模式或者接口(interface)模式。

結(jié)構(gòu)圖

圖片

角色與理解

  • 橋接模式包含如下角色:
  • Abstraction (抽象類):用于定義抽象類的接口,一般為抽象類而不是接口,其中維持一個(gè)Implementor的引用
  • RefinedAbstraction (擴(kuò)充抽象類):繼承或者實(shí)現(xiàn)抽象類,通常情況下為具體類而不是抽象類,實(shí)現(xiàn)抽象類中定義的抽象業(yè)務(wù)方法,在具體業(yè)務(wù)方法中可以調(diào)用Implementor中定義的業(yè)務(wù)方法
  • Implementor (實(shí)現(xiàn)類接口):定義實(shí)現(xiàn)類的接口,一般而言,Implementor接口僅提供基本操作,并交由子類去實(shí)現(xiàn)
  • ConcreteImplementor (具體實(shí)現(xiàn)類):實(shí)現(xiàn)Implementor中定義的基本操作方法
  • 抽象類持有實(shí)現(xiàn)類接口的對(duì)象,調(diào)用實(shí)現(xiàn)類接口中定義的方法
  • 本質(zhì)上是兩個(gè)獨(dú)立變化的維度,一個(gè)抽象層引用另一個(gè)抽象層的東西,以實(shí)現(xiàn)通過實(shí)現(xiàn)類進(jìn)行業(yè)務(wù)方法的調(diào)用

核心代碼

  • 抽象類

圖片

  • 實(shí)現(xiàn)接口

圖片

  • 客戶端

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 橋接器
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    45569
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    VMware使用模式,已經(jīng)手動(dòng)設(shè)置ip地址和主機(jī)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

    優(yōu)化電動(dòng)汽車的結(jié)構(gòu)性

    優(yōu)化電動(dòng)汽車的結(jié)構(gòu)性能以提高效率和安全迅速增長的全球電動(dòng)汽車(EV)市場預(yù)計(jì)到2027年將達(dá)到8028億美元。在電池和高壓電子設(shè)備的驅(qū)動(dòng)下,電動(dòng)汽車的運(yùn)行和維護(hù)成本往往低于傳統(tǒng)汽車,幾乎不會(huì)產(chǎn)生
    發(fā)表于 09-17 08:10

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

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

    設(shè)計(jì)模式結(jié)構(gòu)型模式

    的接口功能。(二)應(yīng)用實(shí)例:讀卡器是作為內(nèi)存卡和筆記本之間的適配器。您將內(nèi)存卡插入讀卡器,再將讀卡器插入筆記本,這樣就可以通過筆記本來讀取內(nèi)存卡。(三)構(gòu)成要素:二、模式(一)定義:
    發(fā)表于 11-06 17:51 ?1次下載
    設(shè)計(jì)<b class='flag-5'>模式</b>之<b class='flag-5'>結(jié)構(gòu)型模式</b>

    模式的目標(biāo)與設(shè)計(jì)

    模式的目標(biāo)是使對(duì)象的抽象部分與實(shí)現(xiàn)部分分離,使之可以分別獨(dú)立變化,以盡量避免產(chǎn)生耦合。
    的頭像 發(fā)表于 06-01 14:29 ?745次閱讀
    <b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>的目標(biāo)與設(shè)計(jì)

    設(shè)計(jì)模式結(jié)構(gòu)性:適配器模式

    適配器模式(Adapter Pattern)是作為兩個(gè)不兼容的接口之間的橋梁。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它結(jié)合了兩個(gè)獨(dú)立接口的功能。
    的頭像 發(fā)表于 06-07 11:56 ?992次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:適配器<b class='flag-5'>模式</b>

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

    組合模式(Composite Pattern),又叫部分整體模式,是用于把一組相似的對(duì)象當(dāng)作一個(gè)單一的對(duì)象。
    的頭像 發(fā)表于 06-08 10:34 ?1438次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:組合<b class='flag-5'>模式</b>

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

    門面模式,是指提供一個(gè)統(tǒng)一的接口去訪問多個(gè)子系統(tǒng)的多個(gè)不同的接口,它為子系統(tǒng)中的一組接口提供一個(gè)統(tǒng)一的高層接口。
    的頭像 發(fā)表于 06-08 14:28 ?843次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:門面<b class='flag-5'>模式</b>

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

    享元模式(Flyweight Pattern)主要用于減少創(chuàng)建對(duì)象的數(shù)量,以減少內(nèi)存占用和提高性能。
    的頭像 發(fā)表于 06-08 17:32 ?889次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:享元<b class='flag-5'>模式</b>

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

    在代理模式(Proxy Pattern)中,一個(gè)類代表另一個(gè)類的功能。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式。
    的頭像 發(fā)表于 06-09 15:27 ?1027次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b><b class='flag-5'>結(jié)構(gòu)性</b>:代理<b class='flag-5'>模式</b>

    遠(yuǎn)程網(wǎng)關(guān)模式實(shí)現(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)程
    的頭像 發(fā)表于 04-26 15:32 ?1722次閱讀
    遠(yuǎn)程網(wǎng)關(guān)<b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>實(shí)現(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 ?1617次閱讀
    <b class='flag-5'>橋</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>應(yīng)用場景

    存儲(chǔ)器結(jié)構(gòu)性分道篇.zip

    存儲(chǔ)器結(jié)構(gòu)性分道篇
    發(fā)表于 01-13 09:07 ?1次下載

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

    ,以便將多個(gè)計(jì)算機(jī)連接在一起并共享資源。 網(wǎng)絡(luò)模式和路由模式的區(qū)別 網(wǎng)絡(luò)
    的頭像 發(fā)表于 05-10 13:48 ?5825次閱讀