JavaScript中常見的十五種設計模式包括:
單例模式(Singleton Pattern):確保一個類只有一個實例,并提供一個全局訪問點。
工廠模式(Factory Pattern):將對象的創建和使用分離,通過工廠類來創建對象。
構造器模式(Constructor Pattern):使用構造函數來創建對象,并且可以定義對象的屬性和方法。
原型模式(Prototype Pattern):通過復制現有的對象來創建新對象,避免了使用構造函數創建對象的開銷。
觀察者模式(Observer Pattern):定義了一種一對多的依賴關系,當一個對象狀態改變時,其依賴的對象都會收到通知并自動更新。
發布-訂閱模式(Publish-Subscribe Pattern):類似觀察者模式,但是可以自定義事件并訂閱/取消訂閱事件。
代理模式(Proxy Pattern):為一個對象提供一個代用品或占位符,以便控制對它的訪問。
裝飾器模式(Decorator Pattern):動態地給一個對象添加額外的功能。
適配器模式(Adapter Pattern):將一個類的接口轉換成客戶希望的另一個接口。
策略模式(Strategy Pattern):定義一系列的算法,將每個算法封裝起來并使它們可以互換。
迭代器模式(Iterator Pattern):提供一種方法順序訪問一個聚合對象中的各個元素,而不暴露其內部的表示。
命令模式(Command Pattern):將一個請求封裝成一個對象,使得可以用不同的請求對客戶進行參數化。
備忘錄模式(Memento Pattern):在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。
模板方法模式(Template Method Pattern):定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。
組合模式(Composite Pattern):將對象組合成樹形結構以表示部分-整體的層次結構,使得用戶對單個對象和組合對象的使用具有一致性。