設(shè)計(jì)模式之外觀模式

1析藕、定義

外觀模式(Facade),是一種通過為多個(gè)復(fù)雜的子系統(tǒng)提供一個(gè)一致的接口,而使這些子系統(tǒng)更加容易被訪問的模式挫剑。該模式對(duì)外有一個(gè)統(tǒng)一接口或悲,外部應(yīng)用程序不用關(guān)心內(nèi)部子系統(tǒng)的具體的細(xì)節(jié),這樣會(huì)大大降低應(yīng)用程序的復(fù)雜度怪与,提高了程序的可維護(hù)性夺刑。

2、角色劃分

2.1分别、外觀(Facade)角色(角色一)

為多個(gè)子系統(tǒng)對(duì)外提供一個(gè)共同的接口遍愿。

2.2、子系統(tǒng)(Sub System)角色(角色二)

實(shí)現(xiàn)系統(tǒng)的部分功能耘斩,客戶可以通過外觀角色訪問它沼填。

3、UML關(guān)系圖

image.png

4括授、優(yōu)點(diǎn)

1坞笙、外觀(Facade)模式是“迪米特法則”的典型應(yīng)用。
2荚虚、降低了子系統(tǒng)與客戶端之間的耦合度薛夜,使得子系統(tǒng)的變化不會(huì)影響調(diào)用它的客戶類。
3曲管、對(duì)客戶屏蔽了子系統(tǒng)組件却邓,減少了客戶處理的對(duì)象數(shù)目,并使得子系統(tǒng)使用起來更加容易院水。
4腊徙、降低了大型軟件系統(tǒng)中的編譯依賴性,簡化了系統(tǒng)在不同平臺(tái)之間的移植過程檬某,因?yàn)榫幾g一個(gè)子系統(tǒng)不會(huì)影響其他的子系統(tǒng)撬腾,也不會(huì)影響外觀對(duì)象。

5恢恼、缺點(diǎn)

1民傻、不能很好地限制客戶使用子系統(tǒng)類。
2、增加新的子系統(tǒng)可能需要修改外觀類或客戶端的源代碼漓踢,違背了“開閉原則”牵署。

6、代碼實(shí)現(xiàn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喧半,一起剝皮案震驚了整個(gè)濱河市奴迅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挺据,老刑警劉巖取具,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扁耐,居然都是意外死亡暇检,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門婉称,熙熙樓的掌柜王于貴愁眉苦臉地迎上來块仆,“玉大人,你說我怎么就攤上這事酿矢≌ズ酰” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵瘫筐,是天一觀的道長蜜暑。 經(jīng)常有香客問我,道長策肝,這世上最難降的妖魔是什么肛捍? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮之众,結(jié)果婚禮上拙毫,老公的妹妹穿的比我還像新娘。我一直安慰自己棺禾,他們只是感情好缀蹄,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著膘婶,像睡著了一般缺前。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悬襟,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天衅码,我揣著相機(jī)與錄音,去河邊找鬼脊岳。 笑死逝段,一個(gè)胖子當(dāng)著我的面吹牛垛玻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奶躯,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼帚桩,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了巫糙?” 一聲冷哼從身側(cè)響起朗儒,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤颊乘,失蹤者是張志新(化名)和其女友劉穎参淹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乏悄,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浙值,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了檩小。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片开呐。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖规求,靈堂內(nèi)的尸體忽然破棺而出筐付,到底是詐尸還是另有隱情,我是刑警寧澤阻肿,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布瓦戚,位于F島的核電站,受9級(jí)特大地震影響丛塌,放射性物質(zhì)發(fā)生泄漏较解。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一赴邻、第九天 我趴在偏房一處隱蔽的房頂上張望印衔。 院中可真熱鬧,春花似錦姥敛、人聲如沸奸焙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽与帆。三九已至,卻和暖如春臊泌,著一層夾襖步出監(jiān)牢的瞬間鲤桥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工渠概, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茶凳,地道東北人嫂拴。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像贮喧,于是被迫代替她去往敵國和親筒狠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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

  • 外觀模式是一種使用頻率非常高的結(jié)構(gòu)型設(shè)計(jì)模式箱沦,它通過引入一個(gè)外觀角色來簡化客戶端與子系統(tǒng)之間的交互辩恼,為復(fù)雜的子系統(tǒng)...
    CrixalisAs閱讀 343評(píng)論 0 0
  • 外觀模式(facade) 系統(tǒng)會(huì)隨著演化變得非常復(fù)雜,最終形成大量的(并且有時(shí)是令人迷惑的)類和交互谓形,這種情況并不...
    英武閱讀 1,081評(píng)論 0 51
  • 1. 定義 外部與一個(gè)子系統(tǒng)的通信必須通過一個(gè)統(tǒng)一的外觀對(duì)象進(jìn)行灶伊,為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,外觀模式...
    落英墜露閱讀 387評(píng)論 0 0
  • 定義: 要求一個(gè)子系統(tǒng)的外部與其內(nèi)部的通信必須通過一個(gè)統(tǒng)一的對(duì)象進(jìn)行寒跳。此模式提供一個(gè)高層的接口聘萨,使得子系統(tǒng)更易于使...
    runningboys閱讀 194評(píng)論 0 1
  • 雖然風(fēng)很大但熱的人一塌糊涂渾身流汗,以至于剛剛開始熱鬧的上下午的舞大家的熱情都不那么高了…… 積壓的工作...
    風(fēng)箏2017閱讀 81評(píng)論 0 0