設計模式可以分為三大類:
- 創建型模式(Ceeational Patterns)
- 結構型模式(Structural Patterns)
- 行為型模式(Behavioral Patterns)
創建型模式
創建型模式抽象了實例化過程。
提供了創建對象的同時隱藏創建邏輯的方式,不使用new方式實例化對象。幫助系統獨立于如何創建、組合和表示它的那些對象。
創建型模式關注對象的創建,將創建對象的過程進行抽象和封裝,作為客戶端需要使用對象,不用關心對象的創建過程。
創建型模式包括:
- 工廠模式(Factory pattern)
- 抽象工廠模式(Abstract Factory Pattern)
- 單例模式(Singleton Patern)
- 創建者模式(Builder Pattern)
- 原型模式(Prototype Pattern)
結構型模式
結構型模式關注類和對象的組合。
采用繼承機制來組合接口或實現。
結構型對象模式不是對接口和實現組合,而是描述了如何對一些對象進行組合,從而實現新功能的一些方法。在運行時改變對象組合關系,所以對象組合方式具有更大的靈活性,而這種機制用靜態類組合是不可能實現的。
結構型模式包含很多問題解決。如:擴展性,封裝。如何設計對象結構、繼承和依賴關系影響到后續程序的維護性、代碼的健壯性、耦合性等。
結構型模式包含:
- 適配器模式(Adapter Pattern)
- 橋接模式(Bridge Pattern)
- 過濾器模式(Filter Pattern)
- 組合模式(Composition Pattern)
- 裝飾器模式(Decorator Pattern)
- 外觀模式(Facade Pattern)
- 代理模式(Proxy Pattern)
- 享元模式(Flyweight Pattern)
行為模式
行為模式設計算法和對象之間職責的分配。
行為模式不僅僅描述對象或類的模式,還描述它們之間的通信模式。這些模式刻劃了在運行時難以跟蹤的復雜的控制流。它們將注意力從控制流程轉移到對象間的聯系方式上。
行為類模式使用繼承機制在類間分派行為。
行為對象模式使用對象復合而不是繼承。一些行為對象模式描述了一組對等的對象如何相互協作以完成其中一個對象都無法單獨完成的任務。對等對象可以通過保持顯示的對對方的引用,這回增加它們的耦合度。
行為模式包含:
- 責任鏈模式(Chain of Responsibility Pattern)
- 命令模式(Command Pattern)
- 解釋器模式(Interpreter Pattern)
- 迭代器模式(Iterator Pattern)
- 中介者模式(Mediator Pattern)
- 備忘錄模式(Memento Pattern)
- 觀察者模式(Observer Pattern)
- 狀態模式(State Pattern)
- 空對象模式(Null Object Pattern)
- 策略模式(Strategy Pattern)
- 模板模式(Template Pattern)
- 訪問者模式(Visitor Pattern)
image.png