單件模式、工廠模式、抽象工廠模式、生成器模式、原型模式。html
適配器模式、橋接模式、組成模式、裝飾模式、外觀模式、享元模式、代理模式。ui
中介者模式、命令模式、備忘錄模式、狀態模式、策略模式、解釋器模式、迭代器模式、觀察者模式、訪問者模式、模板方法模式。代理
單件模式(Singleton Pattern): 保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。例:跨窗體訪問同一個實例。server
工廠模式(Factory Pattern):根據提供給工廠的數據,從一系列相關的類中選擇一個類實例並返回。例:Oracle,SQL Server 訪問類的選擇htm
抽象工廠模式(Abstract Factory Pattern):爲一組類返回一個工廠。對象
生成器模式(Builder Pattern):根據提供給他的數據及表示,組裝成新的對象。 例:根據用戶不一樣的選擇顯示不一樣控件。blog
原型模式(Prototype Pattern) :
由結果到一個新的結果。例:根據由執行的SQL 查詢結果獲得另外一個結果。與生成器相似工廠,二者都返回由許多方法的對象組成的類。接口
差異:抽象工廠返回一系列相關的類。生成器是根據提供給它的數據一步一步地構建一個複雜的對象。圖片
適配器模式(Adapter Pattern):將一個類將一種接口轉換成另外一種接口。get
橋接模式(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.不能保證在任何狀況下都會有響應。
職責鏈用於分析器與編譯器。