(九)外观模式
外觀模式
- 外觀模式
- 概念
- 演示
- 場(chǎng)景
- 總結(jié)
外觀模式
概念
- 為子系統(tǒng)中的一組接口提供了一個(gè)高層接口
- 使用者使用這個(gè)高層接口
外觀模式(Facade)為子系統(tǒng)中的一組接口提供了一個(gè)一致的界面,此模塊定義了一個(gè)高層接口,這個(gè)接口值得這一子系統(tǒng)更加容易使用。
如去醫(yī)院看病,可能要去掛號(hào)、門診、劃價(jià)、取藥,讓患者或患者家屬覺得很復(fù)雜,如果有提供接待人員,只讓接待人員來處理,就很方便。
演示
外觀模式比較簡(jiǎn)單,很容易理解。傳統(tǒng)的 UML 圖畫法都是參照 java 語法以及 java 中面向?qū)ο笤O(shè)計(jì)的
在前端 JS 中,這種子類繼承父類,且是多個(gè)子類繼承一個(gè)父類的情況不多。因此這里看下這個(gè)圖,理解之后就不再演示了。
場(chǎng)景
前端用外觀模式思想,常見最多的就是函數(shù)參數(shù)的整合,例如
function bindEvent(elem, type, selector, fn) {if (fn == null) {fn = selectorselector = null}// ****** }// 調(diào)用 bindEvent(elem, 'click', '#div1', fn) bindEvent(elem, 'click', fn)在 jQuery 或者 lodash 中,有很多函數(shù)都這么設(shè)計(jì)。
總結(jié)
不符合單一職責(zé)原則和開放封閉原則,因此謹(jǐn)慎使用,不可濫用
總結(jié)
- 上一篇: 骑马与砍杀2沙盒模式什么意思 第一次学骑
- 下一篇: (十)观察者模式