設計模式分類


創建模式:單件模式、工廠模式、抽象工廠模式、生成器模式、原型模式。

結構模式:適配器模式、橋接模式、組成模式、裝飾模式、外觀模式、享元模式、代理模式。

行為模式:中介者模式、命令模式、備忘錄模式、狀態模式、策略模式、解釋器模式、迭代器模式、觀察者模式、訪問者模式、模板方法模式。

 

第一類:

單件模式(Singleton Pattern):保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。例:跨窗體訪問同一個實例。
工廠模式(Factory Pattern):根據提供給工廠的數據,從一系列相關的類中選擇一個類實例並返回。例:Oracle,SQL Server 訪問類的選擇
抽象工廠模式(Abstract Factory Pattern):為一組類返回一個工廠。
生成器模式(Builder Pattern):根據提供給他的數據及表示,組裝成新的對象。 例:根據用戶不同的選擇顯示不同控件。
原型模式(Prototype Pattern):由結果到一個新的結果。例:根據由執行的SQL 查詢結果得到另一個結果。與生成器類似工廠,兩者都返回由許多方法的對象組成的類。差別:抽象工廠返回一系列相關的類。生成器是根據提供給它的數據一步一步地構建一個復雜的對象。

 

第二類:

適配器模式(Adapter Pattern):將一個類將一種接口轉換成另一種接口。
橋接模式(Bridge Pattern):類的接口和它的實現相分離,無需改變調用者的代碼即可替代實現的過程。
組成模式(Composite Pattern):組合就是對象的結合。可以構建部分-整體的關系或數據的樹形關系。
裝飾模式(Decorator Pattern):用一個類包裝給定的類改變單個對象的行為,但不需要創建一個新的派生類。
外觀模式(Facde Pattern):可以將一系統復雜的類包裝成一個簡單的封閉接口。
享元模式(Flyweight Pattern):通過共享(把參數移動外部)大幅地減少單個實例的數目。
代理模式(Proxy Pattern):為一個復雜的對象提供一個簡單的占位對象。

 

第三類:

中介者模式(Mediator Pattern):中介者做為唯一了解其它類的一個,簡化了通信.促進類之音的松散便於修改維護。每個和中介者通信的控件都稱為同事。
應用:可視界面的程序中,當面臨多個對象之間復雜的通信時,可使用。

命令模式(Command Pattern):只將請求轉發給特定的對象。目的:將程序的界面和操作分離。缺點:增加了散亂的小類

備忘錄模式(Memento Pattern):保存對象的數據以便以后能夠恢復它。發起人(Originator):是一個對象,我們要保存它的狀態。備忘錄(Memento):是另外一個對象,它保存了發起人的狀態。負責人(Caretaker):管理狀態保存的時機,保存備忘錄,並且如果需要的話,使用備忘錄恢復發起人的狀態。

狀態模式(State Pattern):用一個對象表示程序的狀態,並通過轉換對象來轉換程序的狀態。以前,根據傳進來的參數執行不同的計算或顯示不同的內容。switch-case/if else狀態模式要取代它。

策略模式(Stractegy Pattern):與狀態模式相似,根據需要選擇一封裝在Context驅動器類。

觀察者模式(Observer Pattern):以多種形式顯示數據。在觀察者模式中,把數據稱為目標(Subject),把每種顯示稱為觀察者(Observer)

解釋器模式(Interpreter Pattern):為某種語言定義一個文法,並用該文法解釋語言中的語句。
適用性:
1.當讀者需要一個命令解釋器分析用戶命令時。
2.當程序需要分析一個代數串時。
3.發程序要生成各種形式的輸出時。

迭代器模式(Iterator Pattern):允許使用一個標准的接口順序訪問一個數據列表或集合。

模板方法模式(Template Method Pattern):先創建一個父類,把其中一個或多個方法留個子類實現。是一種非常簡單又常用的模式。思想:將一個類的基本部分抽取出來放到一個基類中,不必重出現在一個派生類中。


職責鏈(Chain of Responsibility):允許多個類處理同一個請求。
要點:
1.鏈的組織是從最特珠的到最一般的。
2.不能保證在任何情況下都會有響應。
職責鏈用於分析器與編譯器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM