文章出處

什么是設計模式

為解決某一類普遍存在的問題而提供的一種解決方案;

分類及定義

創建型模式(5)

1、原型模式:通過復制一個已存在對象來生成一個新對象,被復制的對象稱為原型;詳情...

2、單例模式:一個類只有一個全局實例;詳情...

3、生成器模式:對復雜對象的創建過程進行抽象,相同的創建步驟,不一樣的創建過程實現,生成不同表示的對象;詳情...

4、工廠方法模式:具體的工廠對象負責生產具體的產品對象;詳情...

5、抽象工廠模式:就是對一組具有相同主題的工廠進行封裝;詳情...

簡單工廠模式:一個工廠方法,依據傳入的參數,生成對應的具體產品對象;//不屬于gof-23 詳情...

結構型模式(7)

1、裝飾模式:通過關聯機制給類增加行為,其行為的擴展由修飾對象來決定;詳情...

2、享元模式:大量細粒度對象共享復用;詳情...

3、橋接模式:將對象的行為抽象為接口,作為抽象類的成員屬性在抽象層進行組合;詳情...

4、組合模式:樹形結構的實現,用于描述“整體-部分”的關系;詳情...

5、外觀模式:在子系統中的接口之上定義一個更高層次的接口,方便使用子系統中的接口;詳情...

6、代理模式:通過代理對象間接控制并訪問目標對象的方法;詳情...

7、適配器模式:適配器是將一種接口改造成另外一種接口的一個包裝類;詳情...

行為型模式(11)

1、解釋器模式:定義一些語法規則,然后定義一個解析器去解析該語法;詳情...

2、訪問者模式:在不修改已有程序結構的前提下,通過添加額外的“訪問者”來完成對已有代碼功能的提升;詳情...

3、備忘錄模式:保存對象的某個狀態并可以恢復到該狀態;詳情...

4、中介者模式:對象之間通過中介者對象進行交互,而不是直接交互;詳情...

5、模板方法模式:使用了JAVA的繼承機制,在抽象類中定義一個模板方法,該方法引用了若干個抽象方法(由子類實現)或具體方法;詳情...

6、責任鏈模式:為請求創建一個接收者對象的鏈,每個接收者包含對另一個接收者的引用,當某個接受者不能處理該請求時,將請求轉給下一個接受者;詳情...

7、命令模式:將請求封裝成命令對象,請求的具體執行由命令接收者執行;詳情...

8、狀態模式:一個對象的行為根據其內部狀態的改變自動變化;詳情...

9、策略模式:對象的行為,在不同的環境下,有不同的實現;詳情...

10、迭代器模式:提供一種方法訪問一個容器對象中各個元素,而又不需暴露該對象的內部細節。詳情...

11、觀察者模式:一對多的關系,又叫發布-訂閱模式,即一個對象的狀態發生變化,所有依賴它的對象能夠知道該變化并自動更新;詳情...

涉及的相關的設計原則

  • 單一職責原則
  • 里氏替換原則
  • 依賴倒置原則
  • 接口隔離原則
  • 迪米特法則
  • 開閉原則

使用頻率排序

創建型模式(5)

工廠方法模式:★★★★★

抽象工廠模式:★★★★★

單例模式:★★★★☆

簡單工廠模式:★★★★☆            //不屬于gof-23

原型模式:★★☆☆

生成器模式:★★☆☆

結構型模式(7)

外觀模式:★★★★★

代理模式:★★★★☆

組合模式:★★★★☆

適配器模式:★★★★☆

橋接模式:★★☆☆

裝飾模式:★★☆☆

享元模式:☆☆

行為型模式(11)

迭代器模式:★★★★★

觀察者模式:★★★★★

命令模式:★★★★☆

策略模式:★★★★☆

模板方法模式:★★★☆☆

責任鏈模式:★★☆☆

狀態模式:★★☆☆

備忘錄模式:★★☆☆

中介者模式:★★☆☆

解釋器模式:☆☆

訪問者模式:☆☆

另外,網上看到一張圖片,總結的挺好的

圖片來自:鏈接


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()