JavaScript常用設計模式

原始碼時代發表於2018-07-26

設計模式

設計模式是一種在長時間的經驗與錯誤中總結出來可複用的解決方案

設計模式主要分為三類:

創造型設計模式 :  專注於處理物件的建立

Constructor構造器模式、Factory工廠模式,Singleton單例模式、builder生成器模式

構造型設計模式 :  物件間組合,簡歷物件之間的關係

Decorator裝飾者模式、Facede外觀模式、Flyweight享元模式、Adapter介面卡模式,Proxy代理模式

行為設計模式: 簡化和改善物件間的通訊

Mediator中介者模式、Observer觀察者模式 

常用的設計模式  

1、觀察者模式

一個目標物件維持著一系列依賴於它的物件,將有關狀態的任何變更自動通知觀察者們。在觀察者模式中,觀察者需要直接訂閱目標物件。觀察者與目標物件之間有一定的依賴關係。

有4個重要的概念

1>目標物件(被觀察者):維護一組觀察患者,提供管理觀察者的方法。

2>觀察者:提供一個更新介面,用於收到通知時,進行更新

3>具體目標物件:代表具體的目標物件

4>具體觀察者:代表具體的觀察者

JavaScript常用設計模式

 

JavaScript常用設計模式

2、釋出、訂閱模式

釋出訂閱模式可以說是觀察這模式的一種變體,一種實現。它使用一個主題/事件通道,介於釋出者和訂閱者之間,避免了釋出者和訂閱者之間的依賴關係。

JavaScript常用設計模式

3、工廠模式


JavaScript常用設計模式  
工廠函式提供了一個通用的介面來建立物件,我們可以指定我們希望常見的物件型別,我們通知工廠函式需要什麼型別的物件並提供對應的資料,返回對應的例項。 

何時使用工廠模式

1>當我們的物件比較複雜的時候

2>當我們需要根據不同情況建立不同物件例項的時候

3>當我們需要建立許多相似物件的時候

缺點: 使用不當會增加程式的複雜度

4、抽象工廠模式

抽象工廠模式,將物件的實現細節抽離出來。適用於需要和多種物件一起工作的場景。


JavaScript常用設計模式  

5、單例模式

單體模式思想在於保證一個特定類僅有一個例項,意味著但當你第二次使用同一個類建立新物件時,應得到和第一次建立物件完全相同。(限制一個類只有一個例項化物件。)

JavaScript常用設計模式

6、中介者模式

中介者模式就是提供一箇中心點給系統不同元件之間進行通訊,降低系統元件之間的耦合程度。

//實現與釋出/訂閱模式類似

觀察者模式和釋出訂閱模式專注於維護目標物件和觀察者之間的關係,當主題物件發生變化時,通知所有對改主題感興趣的觀察者。而中介者模式的話,專注於限制物件的通訊必須透過中介者來通訊。兩者都提倡耦合。

7、裝飾者模式

裝飾者模式,透過一個裝飾類對現有動態新增行為,以及對原有行為進行裝飾。

JavaScript常用設計模式

8、介面卡模式

使用一個新的介面對現有的介面進行包裝,處理資料與介面的不匹配

JavaScript常用設計模式

 

感謝 教學講師提供此文章!



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544234/viewspace-2168431/,如需轉載,請註明出處,否則將追究法律責任。

相關文章