您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“JavaScript常用設計模式有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JavaScript常用設計模式有哪些”這篇文章吧。
設計模式
設計模式是一種在長時間的經驗與錯誤中總結出來可復用的解決方案
設計模式主要分為三類:
創造型設計模式 : 專注于處理對象的創建
Constructor構造器模式、Factory工廠模式,Singleton單例模式、builder生成器模式
構造型設計模式 : 對象間組合,簡歷對象之間的關系
Decorator裝飾者模式、Facede外觀模式、Flyweight享元模式、Adapter適配器模式,Proxy代理模式
行為設計模式:簡化和改善對象間的通信
Mediator中介者模式、Observer觀察者模式
常用的設計模式
1、觀察者模式
一個目標對象維持著一系列依賴于它的對象,將有關狀態的任何變更自動通知觀察者們。在觀察者模式中,觀察者需要直接訂閱目標對象。觀察者與目標對象之間有一定的依賴關系。
有4個重要的概念
1>目標對象(被觀察者):維護一組觀察患者,提供管理觀察者的方法。
2>觀察者:提供一個更新接口,用于收到通知時,進行更新
3>具體目標對象:代表具體的目標對象
4>具體觀察者:代表具體的觀察者
2、發布、訂閱模式
發布訂閱模式可以說是觀察這模式的一種變體,一種實現。它使用一個主題/事件通道,介于發布者和訂閱者之間,避免了發布者和訂閱者之間的依賴關系。
3、工廠模式
工廠函數提供了一個通用的接口來創建對象,我們可以指定我們希望常見的對象類型,我們通知工廠函數需要什么類型的對象并提供對應的數據,返回對應的實例。
何時使用工廠模式
1>當我們的對象比較復雜的時候
2>當我們需要根據不同情況創建不同對象實例的時候
3>當我們需要創建許多相似對象的時候
缺點:使用不當會增加程序的復雜度
4、抽象工廠模式
抽象工廠模式,將對象的實現細節抽離出來。適用于需要和多種對象一起工作的場景。
5、單例模式
單體模式思想在于保證一個特定類僅有一個實例,意味著但當你第二次使用同一個類創建新對象時,應得到和第一次創建對象完全相同。(限制一個類只有一個實例化對象。)
6、中介者模式
中介者模式就是提供一個中心點給系統不同組件之間進行通信,降低系統組件之間的耦合程度。
//實現與發布/訂閱模式類似
觀察者模式和發布訂閱模式專注于維護目標對象和觀察者之間的關系,當主題對象發生變化時,通知所有對改主題感興趣的觀察者。而中介者模式的話,專注于限制對象的通信必須通過中介者來通信。兩者都提倡耦合。
7、裝飾者模式
裝飾者模式,通過一個裝飾類對現有動態添加行為,以及對原有行為進行裝飾。
8、適配器模式
使用一個新的接口對現有的接口進行包裝,處理數據與接口的不匹配
以上是“JavaScript常用設計模式有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。