js設計模式分類

2022-05-16 13:14:26 字數 1266 閱讀 1409

js模式分為以下幾大類:

一、建立型模式

簡述:關注如何建立物件,主要特點是將物件的建立和使用分離。一般抽象了物件例項化的過程,用來幫助建立物件的例項。包括下面幾個小節:

1、單例模式:保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點;

2、工廠模式:根據輸入的不同返回不同類的例項,一般用來建立同乙個物件;

3、抽象工廠模式:通過對類的工廠抽象,使其業務對於產品類簇的建立;

4、建造者模式:分布構建乙個複雜物件,使得同樣的構建過程可以採用不同的表示。

二、結構型模式

簡述:關注如何將物件按某種布局組成更大的結構。包括下面幾個小結:

1、**模式:為目標物件建立乙個**物件,以控制對目標物件的訪問;

2、享元模式:運用共享技術來有效地支援大量細顆粒度物件的服用,減少建立的物件的數量;

3、介面卡模式:解決兩個軟體實體間介面不相容的問題;

4、裝飾者模式:向乙個現有的物件新增新的功能,同時又不改變其結構;

5、外觀模式:為多個複雜的子系統提供乙個一致的介面,使這些子系統更加容易訪問;

6、組合模式:用小的子物件構建更大的物件,使得對單個物件和組合物件具有一致的訪問性;

7、橋接模式:將類的抽象部分與現實部分分離,使它們可以獨立地變化。

三、行為型模式

簡述:關注物件之間的通訊,描述物件之間怎樣相互協作,以及怎樣分配職責。包括下面幾個小節:

1、發布-訂閱模式:多個物件間存在一對多關係,當乙個物件發生改變時,把這種改變通知給其他物件,從而影響其他物件的行為;

2、策略模式:定義了一些列演算法,並將每個演算法封裝起來,使它們可以互相替換;

3、狀態模式:允許乙個物件在其內部狀態發生改變時改變其行為能力;

4、模版方法模式:定義乙個操作中的演算法骨架,而將演算法的一些步驟延遲到子類中,使得子類可以不改變該演算法結構的情況下重定義該演算法的某些特定步驟;

5、迭代器模式:提供一種方法來順序訪問聚合物件中的一些列資料,而不暴露聚合物件的內部表示;

6、命令模式:將乙個請求封裝為乙個物件,使發出請求的責任和執行請求的責任分割開;

8、中介者模式:定義乙個中介物件來簡化**物件直接的複雜耦合關係。

四、一些其他模式

1、mvc、mvp、mvvm:用於系統分層,降低層間耦合;

2、模組模式:將內部的屬性和方法隱藏,僅暴露需要暴露的部分;

3、鏈模式:通過在物件方法中將當前物件返回,實現對同乙個物件的多個方法的鏈式呼叫;

4、中介軟體:處於作業系統和應用程式之間的軟體,來完成對任何資料的預處理和後處理。  

設計模式分類

軟體設計的過程中,為了使軟體有更好的可維護性與可復用性,要遵循以下原則 下面提到的各種設計模式,都是以這些原則為準則 開 閉 原則 黎克特制代換原則 lsp 依賴倒轉原則 dip 介面隔離原則 isp 合成 聚合利用原則 carp 迪公尺特法則 lod 設計模式分類 建立模式 是對類的例項化過程的抽...

設計模式分類

建立型模式 1.抽象工廠模式 abstractfactory 2.建造者模式 builder 3.工廠方法模式 factory method 4.原型模式 prototype 5.單例模式 singleton 結構型模式 1.介面卡模式 adapter 2.橋接模式 bridge 3.組合模式 co...

設計模式分類

建立型 物件的例項化,提供乙個方法,使客戶與例項化物件解耦 原型模式 prototype 建立者模式 builder 單例模式 singleton 工廠方法模式 factorymethod 抽象工廠模式 abstractfactory 結構型 類和物件被組合以建立新的結構或新的功能 外觀模式 fac...