爲解決某一類廣泛存在的問題而提供的一種解決方案;html
建立型模式(5)設計模式
一、原型模式:經過複製一個已存在對象來生成一個新對象,被複制的對象稱爲原型;詳情...spa
二、單例模式:一個類只有一個全局實例;詳情...設計
三、生成器模式:對複雜對象的建立過程進行抽象,相同的建立步驟,不同的建立過程實現,生成不一樣表示的對象;詳情...3d
四、工廠方法模式:具體的工廠對象負責生產具體的產品對象;詳情...代理
五、抽象工廠模式:就是對一組具備相同主題的工廠進行封裝;詳情...htm
簡單工廠模式:一個工廠方法,依據傳入的參數,生成對應的具體產品對象;//不屬於gof-23 詳情...
對象
結構型模式(7)blog
一、裝飾模式:經過關聯機制給類增長行爲,其行爲的擴展由修飾對象來決定;詳情...排序
二、享元模式:大量細粒度對象共享複用;詳情...
三、橋接模式:將對象的行爲抽象爲接口,做爲抽象類的成員屬性在抽象層進行組合;詳情...
四、組合模式:樹形結構的實現,用於描述「總體-部分」的關係;詳情...
五、外觀模式:在子系統中的接口之上定義一個更高層次的接口,方便使用子系統中的接口;詳情...
六、代理模式:經過代理對象間接控制並訪問目標對象的方法;詳情...
七、適配器模式:適配器是將一種接口改形成另一種接口的一個包裝類;詳情...
行爲型模式(11)
一、解釋器模式:定義一些語法規則,而後定義一個解析器去解析該語法;詳情...
二、訪問者模式:在不修改已有程序結構的前提下,經過添加額外的「訪問者」來完成對已有代碼功能的提高;詳情...
三、備忘錄模式:保存對象的某個狀態並能夠恢復到該狀態;詳情...
四、中介者模式:對象之間經過中介者對象進行交互,而不是直接交互;詳情...
五、模板方法模式:使用了JAVA的繼承機制,在抽象類中定義一個模板方法,該方法引用了若干個抽象方法(由子類實現)或具體方法;詳情...
六、責任鏈模式:爲請求建立一個接收者對象的鏈,每一個接收者包含對另外一個接收者的引用,當某個接受者不能處理該請求時,將請求轉給下一個接受者;詳情...
七、命令模式:將請求封裝成命令對象,請求的具體執行由命令接收者執行;詳情...
八、狀態模式:一個對象的行爲根據其內部狀態的改變自動變化;詳情...
九、策略模式:對象的行爲,在不一樣的環境下,有不一樣的實現;詳情...
十、迭代器模式:提供一種方法訪問一個容器對象中各個元素,而又不需暴露該對象的內部細節。詳情...
十一、觀察者模式:一對多的關係,又叫發佈-訂閱模式,即一個對象的狀態發生變化,全部依賴它的對象可以知道該變化並自動更新;詳情...
建立型模式(5)
工廠方法模式:★★★★★
抽象工廠模式:★★★★★
單例模式:★★★★☆
簡單工廠模式:★★★★☆ //不屬於gof-23
原型模式:★★★☆☆
生成器模式:★★☆☆☆
結構型模式(7)
外觀模式:★★★★★
代理模式:★★★★☆
組合模式:★★★★☆
適配器模式:★★★★☆
橋接模式:★★★☆☆
裝飾模式:★★★☆☆
享元模式:★☆☆☆☆
行爲型模式(11)
迭代器模式:★★★★★
觀察者模式:★★★★★
命令模式:★★★★☆
策略模式:★★★★☆
模板方法模式:★★★☆☆
責任鏈模式:★★★☆☆
狀態模式:★★★☆☆
備忘錄模式:★★☆☆☆
中介者模式:★★☆☆☆
解釋器模式:★☆☆☆☆
訪問者模式:★☆☆☆☆
圖片來自:連接