這篇文章主要為大家展示了“JavaScript常用設(shè)計(jì)模式有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“JavaScript常用設(shè)計(jì)模式有哪些”這篇文章吧。
10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有霞浦免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。設(shè)計(jì)模式
設(shè)計(jì)模式是一種在長時(shí)間的經(jīng)驗(yàn)與錯(cuò)誤中總結(jié)出來可復(fù)用的解決方案
設(shè)計(jì)模式主要分為三類:
創(chuàng)造型設(shè)計(jì)模式 : 專注于處理對(duì)象的創(chuàng)建
Constructor構(gòu)造器模式、Factory工廠模式,Singleton單例模式、builder生成器模式
構(gòu)造型設(shè)計(jì)模式 :對(duì)象間組合,簡歷對(duì)象之間的關(guān)系
Decorator裝飾者模式、Facede外觀模式、Flyweight享元模式、Adapter適配器模式,Proxy代理模式
行為設(shè)計(jì)模式:簡化和改善對(duì)象間的通信
Mediator中介者模式、Observer觀察者模式
常用的設(shè)計(jì)模式
1、觀察者模式
一個(gè)目標(biāo)對(duì)象維持著一系列依賴于它的對(duì)象,將有關(guān)狀態(tài)的任何變更自動(dòng)通知觀察者們。在觀察者模式中,觀察者需要直接訂閱目標(biāo)對(duì)象。觀察者與目標(biāo)對(duì)象之間有一定的依賴關(guān)系。
有4個(gè)重要的概念
1>目標(biāo)對(duì)象(被觀察者):維護(hù)一組觀察患者,提供管理觀察者的方法。
2>觀察者:提供一個(gè)更新接口,用于收到通知時(shí),進(jìn)行更新
3>具體目標(biāo)對(duì)象:代表具體的目標(biāo)對(duì)象
4>具體觀察者:代表具體的觀察者
2、發(fā)布、訂閱模式
發(fā)布訂閱模式可以說是觀察這模式的一種變體,一種實(shí)現(xiàn)。它使用一個(gè)主題/事件通道,介于發(fā)布者和訂閱者之間,避免了發(fā)布者和訂閱者之間的依賴關(guān)系。
3、工廠模式
工廠函數(shù)提供了一個(gè)通用的接口來創(chuàng)建對(duì)象,我們可以指定我們希望常見的對(duì)象類型,我們通知工廠函數(shù)需要什么類型的對(duì)象并提供對(duì)應(yīng)的數(shù)據(jù),返回對(duì)應(yīng)的實(shí)例。
何時(shí)使用工廠模式
1>當(dāng)我們的對(duì)象比較復(fù)雜的時(shí)候
2>當(dāng)我們需要根據(jù)不同情況創(chuàng)建不同對(duì)象實(shí)例的時(shí)候
3>當(dāng)我們需要?jiǎng)?chuàng)建許多相似對(duì)象的時(shí)候
缺點(diǎn):使用不當(dāng)會(huì)增加程序的復(fù)雜度
4、抽象工廠模式
抽象工廠模式,將對(duì)象的實(shí)現(xiàn)細(xì)節(jié)抽離出來。適用于需要和多種對(duì)象一起工作的場景。
5、單例模式
單體模式思想在于保證一個(gè)特定類僅有一個(gè)實(shí)例,意味著但當(dāng)你第二次使用同一個(gè)類創(chuàng)建新對(duì)象時(shí),應(yīng)得到和第一次創(chuàng)建對(duì)象完全相同。(限制一個(gè)類只有一個(gè)實(shí)例化對(duì)象。)
6、中介者模式
中介者模式就是提供一個(gè)中心點(diǎn)給系統(tǒng)不同組件之間進(jìn)行通信,降低系統(tǒng)組件之間的耦合程度。
//實(shí)現(xiàn)與發(fā)布/訂閱模式類似
觀察者模式和發(fā)布訂閱模式專注于維護(hù)目標(biāo)對(duì)象和觀察者之間的關(guān)系,當(dāng)主題對(duì)象發(fā)生變化時(shí),通知所有對(duì)改主題感興趣的觀察者。而中介者模式的話,專注于限制對(duì)象的通信必須通過中介者來通信。兩者都提倡耦合。
7、裝飾者模式
裝飾者模式,通過一個(gè)裝飾類對(duì)現(xiàn)有動(dòng)態(tài)添加行為,以及對(duì)原有行為進(jìn)行裝飾。
8、適配器模式
使用一個(gè)新的接口對(duì)現(xiàn)有的接口進(jìn)行包裝,處理數(shù)據(jù)與接口的不匹配
以上是“JavaScript常用設(shè)計(jì)模式有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!