iOS 設(shè)計(jì)模式淺析 2 - 橋接

本篇文章主要講三個(gè)點(diǎn):

????1. 什么是橋接模式.

????2. 橋接模式的優(yōu)缺點(diǎn).

????3. demo.

1. 橋接模式

? ? 將抽象部分和實(shí)現(xiàn)部分分離, 使他們都可以獨(dú)立的變化.

? ? 橋接模式的原理: 抽象層和實(shí)現(xiàn)層相分離, 抽象層定義了供我們使用的抽象接口, 實(shí)現(xiàn)層提供了具體的邏輯, 實(shí)現(xiàn)類的引用被封裝到了抽象層的實(shí)例之中, 即完成了橋接模式.

2. 橋接模式的優(yōu)缺點(diǎn)

? ? 優(yōu)點(diǎn): ①. 將依賴具體的實(shí)現(xiàn), 改為依賴抽象的實(shí)現(xiàn), 達(dá)到解耦合的目的.

? ? ? ? ? ? ?②. 分離接口和實(shí)現(xiàn)部分.

? ? ? ? ? ? ?③. 提高了擴(kuò)展性.

????缺點(diǎn):?會(huì)增加系統(tǒng)的理解與設(shè)計(jì)難度, 由于聚合關(guān)系建立在抽象層, 要求開發(fā)者針對(duì)抽象進(jìn)行設(shè)計(jì)與編程.

3. demo

? ? ? 正常情況下, 都是一把鑰匙開一把鎖, 但是有些需求是要用一個(gè)萬(wàn)能鑰匙給所有鎖都打開, 先看一下 demo 的 UML 原理圖:

? ? ? 想要用萬(wàn)能鑰匙開奧迪和寶馬, 先看一下汽車的抽象類, 里面就只有一個(gè)抽象方法:

? ? ? ? ? 下面的代碼是奧迪和寶馬繼承自汽車類, 并且實(shí)現(xiàn)了抽象方法:

? ? ? 鑰匙抽象類聚合了 Car 類, 并且有兩個(gè)抽象方法:

? ? ? 萬(wàn)能鑰匙繼承自鑰匙抽象類, 并且實(shí)現(xiàn)了抽象方法:

? ? ? FirstCtrl 里面進(jìn)行了對(duì)萬(wàn)能鑰匙的調(diào)用, 實(shí)際上萬(wàn)能鑰匙只是改變了汽車的種類, 就像是我們用的萬(wàn)能遙控器, 只是改變要配對(duì)的設(shè)備, 其余操作相同, 原理其實(shí)就是利用了多態(tài)啦.

? ? ? 橋接模式的應(yīng)用場(chǎng)景還是蠻多的, 發(fā)現(xiàn)有個(gè)大佬寫橋接模式寫的蠻好的, 放一個(gè)傳送門, 我也是處在一個(gè)學(xué)習(xí)階段, 所以有些觀點(diǎn)可能偏淺, 有什么不足之處還望見(jiàn)諒.

? ? ? 這里是 demo 的?傳送門,?如果喜歡的話, 大家可以為這篇文章點(diǎn)個(gè) ??, 加個(gè)關(guān)注呦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末急波,一起剝皮案震驚了整個(gè)濱河市叛本,隨后出現(xiàn)的幾起案子晤碘,更是在濱河造成了極大的恐慌担平,老刑警劉巖信夫,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件所袁,死亡現(xiàn)場(chǎng)離奇詭異王悍,居然都是意外死亡岛心,警方通過(guò)查閱死者的電腦和手機(jī)沦零,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門祭隔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人路操,你說(shuō)我怎么就攤上這事疾渴。” “怎么了屯仗?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵搞坝,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我魁袜,道長(zhǎng)桩撮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任峰弹,我火速辦了婚禮店量,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鞠呈。我一直安慰自己融师,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布蚁吝。 她就那樣靜靜地躺著旱爆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪窘茁。 梳的紋絲不亂的頭發(fā)上怀伦,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音山林,去河邊找鬼房待。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吴攒。 我是一名探鬼主播张抄,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼洼怔!你這毒婦竟也來(lái)了署惯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤镣隶,失蹤者是張志新(化名)和其女友劉穎极谊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體安岂,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轻猖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了域那。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡败许,死狀恐怖市殷,靈堂內(nèi)的尸體忽然破棺而出刹衫,到底是詐尸還是另有隱情,我是刑警寧澤带迟,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布仓犬,位于F島的核電站,受9級(jí)特大地震影響婶肩,放射性物質(zhì)發(fā)生泄漏貌夕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一险毁、第九天 我趴在偏房一處隱蔽的房頂上張望畔况。 院中可真熱鬧,春花似錦跷跪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)卿泽。三九已至,卻和暖如春签夭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背侄旬。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工儡羔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留璧诵,地道東北人汰蜘。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓族操,卻偏偏與公主長(zhǎng)得像色难,于是被迫代替她去往敵國(guó)和親等缀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1 場(chǎng)景問(wèn)題# 1.1 發(fā)送提示消息## 考慮這樣一個(gè)實(shí)際的業(yè)務(wù)功能:發(fā)送提示消息笤妙。基本上所有帶業(yè)務(wù)流程處理的系統(tǒng)...
    七寸知架構(gòu)閱讀 4,962評(píng)論 5 63
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,510評(píng)論 25 707
  • 設(shè)計(jì)模式匯總 一、基礎(chǔ)知識(shí) 1. 設(shè)計(jì)模式概述 定義:設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用召衔、多...
    MinoyJet閱讀 3,903評(píng)論 1 15
  • 目錄 本文的結(jié)構(gòu)如下: 引言 什么是橋接模式 模式的結(jié)構(gòu) 典型代碼 代碼示例 優(yōu)點(diǎn)和缺點(diǎn) 適用環(huán)境 模式應(yīng)用 一薄嫡、...
    w1992wishes閱讀 1,750評(píng)論 0 6
  • 有多少平平淡淡才是真哑蔫,就有多少轟轟烈烈的執(zhí)著…… 有多少亦趨亦步不忘本,就有多少不離不棄的真心……
    童安安閱讀 165評(píng)論 0 0