設(shè)計模式并非是難以理解, 或是難以應(yīng)用到實踐中的, 相反的, 設(shè)計模式恰恰代表了某些場景下的最佳實踐! 這些設(shè)計模式通常被有經(jīng)驗的開發(fā)者們所采用控妻。
設(shè)計模式是開發(fā)者們在開發(fā)過程中面臨的一般問題的解決方案较屿。 這些解決方案是眾多開發(fā)者們經(jīng)過長時間的實驗和錯誤所總結(jié)出來的
本文將講解前端 (javascript) 的設(shè)計模式概念!
外觀模式是最常用的一種設(shè)計模式, 說白了就是把常用的代碼段封裝一個接口, 比如最常用的瀏覽器兼容的封裝, 就可以看做成一個外觀設(shè)計模式
function addEventListener(element, event, callback) {
if (element.addEventListener) {
element.addEventListener(event, callback, false);
} else if (element.attachEvent) {
element.attachEvent('on' + event, callback);
} else {
element['on' + event] = callback;
}
}
外觀模式不僅簡化類中的接口,而且對接口與調(diào)用者也進(jìn)行了解耦瞳筏。外觀模式經(jīng)常被認(rèn)為開發(fā)者必備,它可以將一些復(fù)雜操作封裝起來,并創(chuàng)建一個簡單的接口用于調(diào)用蜘犁。
外觀模式經(jīng)常被用于JavaScript類庫里,通過它封裝一些接口用于兼容多瀏覽器止邮,外觀模式可以讓我們間接調(diào)用子系統(tǒng)这橙,從而避免因直接訪問子系統(tǒng)而產(chǎn)生不必要的錯誤。
外觀模式的優(yōu)勢是易于使用导披,而且本身也比較輕量級屈扎。但也有缺點 外觀模式被開發(fā)者連續(xù)使用時會產(chǎn)生一定的性能問題,因為在每次調(diào)用時都要檢測功能的可用性撩匕。
何時使用
理論上在開發(fā)開始到結(jié)束, 或是維護(hù)遺留的大型系統(tǒng)時, 都可以使用外觀模式
其他設(shè)計模式
單例模式: http://www.reibang.com/p/4c0604f116ba
構(gòu)造函數(shù)模式: http://www.reibang.com/p/cf809d980459
建造者模式: http://www.reibang.com/p/70cf4bb80549
簡單工廠模式: http://www.reibang.com/p/4293450926c2
抽象工廠模式: http://www.reibang.com/p/d6138f36e6e2
裝飾者模式: http://www.reibang.com/p/16cf284ab810