建立性模式
singleton模式解決的是實體物件個數的問題。除了singleton之外,其他建立性模式都是new耦合所帶來的耦合關係。
factoyr method,abstrct factory, builder都需要乙個額外的工廠類來負責例項化「易變物件」,而prototype則是通過原型(乙個特殊的工廠類)來轉殖「易變物件」。
如果遇到「易變類」,期初的涉及通常從factory method開始,當遇到更多的複雜的變化時,在考慮重構其他三種工廠模式(abstract factory,builder,prototype)。
prototype模式:
singleton模式:
builder模式:
factory模式:
factory method模式:
abstract factory模式
結構型模式
adapter模式注重轉換介面,將不吻合的介面適配對接
bridge模式注重分離介面與其實現,支援多維度變化(手機功能)
composite模式注重統一介面,將「一對多」的關係轉為「一對一的關係」
decorator模式注重穩定介面,在此前提下為物件擴充套件功能
facade模式注重的是簡化介面,簡化元件系統與外部客戶關係的依賴關係
flyweight模式注重保留介面,將內部使用共享技術對物件儲存進行優化
proxy模式注重假介面,增加間接來實現靈活控制,安全性、分離實現等解耦等工作
adapter模式:
bridge模式:
composite模式:
decorator模式:
facade模式:
flyweight模式
proxy模式:
行為型模式
template method模式封裝了演算法結構,支援演算法的步驟變化
strategy模式注重封裝演算法,支援演算法的變化
state模式注重封裝與狀態相關的行為,支援變化,即通過狀態的變化封裝到物件的轉換
memento模式注重封裝物件狀態變化,支援儲存/恢復
mediator模式注重封裝物件的互動,支援物件的變化
chain of responsibility模式注重封裝物件責任,支援責任的變化
command模式注重將請求封裝為物件,注重請求的變化,類似委託
iterator模式注重封裝集合物件內部結構,支援集合的變化
interpreter模式主張封裝特定領域變化,支援領域問題的頻繁變化,直譯器模式
observer模式注重封裝物件通知,支援通訊物件的變化
visitor模式注重對物件操作的變化,支援在執行時為類層次動態新增新的操作
template method模式:
strategy模式
state模式:
memento模式:
mediator模式:
chain of responsibility模式:
command模式:
iterator模式:
interpreter模式:
observer模式:
visitor模式:
23種設計模式彙總整理
設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態模...
23種設計模式彙總整理
設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態模...
23種設計模式彙總整理
設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態模...