天天看點

史上最全設計模式導學目錄(完整版)

基礎知識

設計模式概述

從招式與内功談起——設計模式概述(一):設計模式從何而來?

從招式與内功談起——設計模式概述(二):設計模式是什麼?

從招式與内功談起——設計模式概述(三):設計模式有什麼用?附:個人觀點

面向對象設計原則

面向對象設計原則概述

面向對象設計原則之單一職責原則

面向對象設計原則之開閉原則

面向對象設計原則之裡氏代換原則

面向對象設計原則之依賴倒轉原則

面向對象設計原則之接口隔離原則

面向對象設計原則之合成複用原則

面向對象設計原則之迪米特法則

六個建立型模式

簡單工廠模式-Simple Factory Pattern【學習難度:★★☆☆☆,使用頻率:★★★☆☆】

工廠三兄弟之簡單工廠模式(一):圖表庫的設計

工廠三兄弟之簡單工廠模式(二):簡單工廠模式概述

工廠三兄弟之簡單工廠模式(三):圖表庫的簡單工廠模式解決方案

工廠三兄弟之簡單工廠模式(四):圖表庫解決方案的改進,簡單工廠模式的簡化,簡單工廠模式總結

工廠方法模式-Factory Method Pattern【學習難度:★★☆☆☆,使用頻率:★★★★★】

工廠三兄弟之工廠方法模式(一):日志記錄器的設計

工廠三兄弟之工廠方法模式(二):工廠方法模式概述

工廠三兄弟之工廠方法模式(三):日志記錄器的工廠方法模式解決方案,反射與配置檔案

工廠三兄弟之工廠方法模式(四):重載的工廠方法,工廠方法的隐藏,工廠方法模式總結

抽象工廠模式-Abstract  Factory Pattern【學習難度:★★★★☆,使用頻率:★★★★★】

工廠三兄弟之抽象工廠模式(一):界面皮膚庫的初始設計

工廠三兄弟之抽象工廠模式(二):産品等級結構與産品族

工廠三兄弟之抽象工廠模式(三):抽象工廠模式概述

工廠三兄弟之抽象工廠模式(四):界面皮膚庫的抽象工廠模式解決方案

工廠三兄弟之抽象工廠模式(五):“開閉原則”的傾斜性,抽象工廠模式總結

單例模式-Singleton Pattern【學習難度:★☆☆☆☆,使用頻率:★★★★☆】

確定對象的唯一性——單例模式 (一):單例模式的動機,單例模式概述

確定對象的唯一性——單例模式 (二):負載均衡器的設計與實作

確定對象的唯一性——單例模式 (三):餓漢式單例與懶漢式單例的讨論

確定對象的唯一性——單例模式 (四):一種更好的單例實作方法(靜态内部類)

確定對象的唯一性——單例模式 (五):單例模式總結

原型模式-Prototype Pattern【學習難度:★★★☆☆,使用頻率:★★★☆☆】

對象的克隆——原型模式(一):大同小異的工作周報,原型模式概述

對象的克隆——原型模式(二):工作周報的原型模式解決方案

對象的克隆——原型模式(三):帶附件的周報【淺克隆,深克隆】

對象的克隆——原型模式(四):原型管理器的引入和實作,原型模式總結

建造者模式-Builder Pattern【學習難度:★★★★☆,使用頻率:★★☆☆☆】

複雜對象的組裝與建立——建造者模式(一):遊戲角色設計,建造者模式概述

複雜對象的組裝與建立——建造者模式(二):遊戲角色設計的建造者模式解決方案

複雜對象的組裝與建立——建造者模式(三):關于Director的進一步讨論,建造者模式總結

七個結構型模式

擴充卡模式-Adapter Pattern【學習難度:★★☆☆☆,使用頻率:★★★★☆】

不相容結構的協調——擴充卡模式(一):沒有源碼的算法庫,擴充卡模式概述

不相容結構的協調——擴充卡模式(二):沒有源碼的算法庫的擴充卡模式解決方案

不相容結構的協調——擴充卡模式(三):類擴充卡,雙向擴充卡

不相容結構的協調——擴充卡模式(四):預設擴充卡,擴充卡模式總結

橋接模式-Bridge Pattern【學習難度:★★★☆☆,使用頻率:★★★☆☆】

處理多元度變化——橋接模式(一):跨平台圖像浏覽系統

處理多元度變化——橋接模式(二):橋接模式概述

處理多元度變化——橋接模式(三):跨平台圖像浏覽系統的橋接模式解決方案

處理多元度變化——橋接模式(四):擴充卡模式與橋接模式的聯用,橋接模式總結

組合模式-Composite Pattern【學習難度:★★★☆☆,使用頻率:★★★★☆】

樹形結構的處理——組合模式(一):設計防毒軟體的架構結構

樹形結構的處理——組合模式(二):組合模式概述

樹形結構的處理——組合模式(三):防毒軟體的架構結構的組合模式解決方案

樹形結構的處理——組合模式(四):透明組合模式與安全組合模式

樹形結構的處理——組合模式(五):公司組織結構,組合模式總結

裝飾模式-Decorator Pattern【學習難度:★★★☆☆,使用頻率:★★★☆☆】

擴充系統功能——裝飾模式(一):圖形界面構件庫的設計

擴充系統功能——裝飾模式(二):裝飾模式概述

擴充系統功能——裝飾模式(三):圖形界面構件庫的裝飾模式解決方案

擴充系統功能——裝飾模式(四):透明裝飾模式與半透明裝飾模式,裝飾模式注意事項,裝飾模式總結

外觀模式-Facade Pattern【學習難度:★☆☆☆☆,使用頻率:★★★★★】

深入淺出外觀模式(一):外觀模式概述,外觀模式結構與實作

深入淺出外觀模式(二):外觀模式應用執行個體(檔案加密子產品)

深入淺出外觀模式(三):抽象外觀類,外觀模式效果與适用場景

享元模式-Flyweight Pattern【學習難度:★★★★☆,使用頻率:★☆☆☆☆】

實作對象的複用——享元模式(一):圍棋棋子的設計,享元模式概述(上)

實作對象的複用——享元模式(二):享元模式概述(下)

實作對象的複用——享元模式(三):圍棋棋子的享元模式解決方案

實作對象的複用——享元模式(四):帶外部狀态的圍棋棋子解決方案

實作對象的複用——享元模式(五):單純享元模式和複合享元模式,關于享元模式的幾點補充,享元模式總結

代理模式-Proxy Pattern【學習難度:★★★☆☆,使用頻率:★★★★☆】

代理模式(一):代理模式概述,代理模式結構與實作

代理模式(二):代理模式應用執行個體(收費商務資訊查詢系統)

代理模式(三):遠端代理,虛拟代理,緩沖代理

代理模式(四):代理模式效果與适用場景

十一個行為型模式

職責鍊模式-Chain of Responsibility Pattern【學習難度:★★★☆☆,使用頻率:★★☆☆☆】

請求的鍊式處理——職責鍊模式(一):采購單的分級審批

請求的鍊式處理——職責鍊模式(二):職責鍊模式概述

請求的鍊式處理——職責鍊模式(三):采購單分級審批的職責鍊模式解決方案

請求的鍊式處理——職責鍊模式(四):純與不純的職責鍊模式,職責鍊模式總結

指令模式-Command Pattern【學習難度:★★★☆☆,使用頻率:★★★★☆】

請求發送者與接收者解耦——指令模式(一):自定義功能鍵,指令模式概述

請求發送者與接收者解耦——指令模式(二):自定義功能鍵的指令模式解決方案

請求發送者與接收者解耦——指令模式(三):指令隊列的實作

請求發送者與接收者解耦——指令模式(四):撤銷操作的簡單實作

請求發送者與接收者解耦——指令模式(五):請求日志

請求發送者與接收者解耦——指令模式(六):宏指令,指令模式總結

解釋器模式-Interpreter Pattern【學習難度:★★★★★,使用頻率:★☆☆☆☆】

自定義語言的實作——解釋器模式(一):機器人控制程式

自定義語言的實作——解釋器模式(二):文法規則和抽象文法樹

自定義語言的實作——解釋器模式(三):解釋器模式概述

自定義語言的實作——解釋器模式(四):機器人控制程式的解釋器模式解決方案

自定義語言的實作——解釋器模式(五):再談Context的作用

自定義語言的實作——解釋器模式(六):解釋器模式總結

疊代器模式-Iterator Pattern【學習難度:★★★☆☆,使用頻率:★★★★★】

周遊聚合對象中的元素——疊代器模式(一):銷售管理系統中資料的周遊

周遊聚合對象中的元素——疊代器模式(二):疊代器模式概述

周遊聚合對象中的元素——疊代器模式(三):銷售管理系統中資料的周遊的疊代器模式解決方案

周遊聚合對象中的元素——疊代器模式(四):使用内部類實作疊代器

周遊聚合對象中的元素——疊代器模式(五):JDK内置疊代器的使用

周遊聚合對象中的元素——疊代器模式(六):疊代器模式總結

中介者模式-Mediator Pattern【學習難度:★★★☆☆,使用頻率:★★☆☆☆】

協調多個對象之間的互動——中介者模式(一):客戶資訊管理視窗的初始設計

協調多個對象之間的互動——中介者模式(二):中介者模式概述

協調多個對象之間的互動——中介者模式(三):客戶資訊管理視窗的中介者模式解決方案

協調多個對象之間的互動——中介者模式(四):中介者與同僚類的擴充

協調多個對象之間的互動——中介者模式(五):中介者模式總結

備忘錄模式-Memento Pattern【學習難度:★★☆☆☆,使用頻率:★★☆☆☆】

撤銷功能的實作——備忘錄模式(一):可悔棋的中國象棋

撤銷功能的實作——備忘錄模式(二):備忘錄模式概述

撤銷功能的實作——備忘錄模式(三):中國象棋的備忘錄模式解決方案

撤銷功能的實作——備忘錄模式(四):實作多次撤銷

撤銷功能的實作——備忘錄模式(五):再談備忘錄的封裝,備忘錄模式總結

觀察者模式-Observer Pattern【學習難度:★★★☆☆,使用頻率:★★★★★】

對象間的關聯——觀察者模式(一):多人聯機對戰遊戲的設計

對象間的關聯——觀察者模式(二):觀察者模式概述

對象間的關聯——觀察者模式(三):多人聯機對戰遊戲的觀察者模式解決方案

對象間的關聯——觀察者模式(四):JDK對觀察者模式的支援

對象間的關聯——觀察者模式(五):觀察者模式與Java事件處理

對象間的關聯——觀察者模式(六):觀察者模式與MVC,觀察者模式總結

狀态模式-State Pattern【學習難度:★★★☆☆,使用頻率:★★★☆☆】

處理對象的多種狀态及其互相轉換——狀态模式(一):銀行系統中的賬戶類設計

處理對象的多種狀态及其互相轉換——狀态模式(二):狀态模式概述

處理對象的多種狀态及其互相轉換——狀态模式(三):賬戶類的狀态模式解決方案

處理對象的多種狀态及其互相轉換——狀态模式(四):共享狀态的實作

處理對象的多種狀态及其互相轉換——狀态模式(五):使用環境類實作狀态轉換

處理對象的多種狀态及其互相轉換——狀态模式(六):狀态模式總結

政策模式-Strategy Pattern【學習難度:★☆☆☆☆,使用頻率:★★★★☆】

算法的封裝與切換——政策模式(一):電影票打折方案

算法的封裝與切換——政策模式(二):政策模式概述

算法的封裝與切換——政策模式(三):電影票打折方案的政策模式解決方案

算法的封裝與切換——政策模式(四):政策模式的兩個典型應用,政策模式總結

模闆方法模式-Template Method Pattern【學習難度:★★☆☆☆,使用頻率:★★★☆☆】

模闆方法模式深度解析(一):模闆方法模式概述,模闆方法模式結構與實作

模闆方法模式深度解析(二):模闆方法模式應用執行個體(銀行利息計算子產品)

模闆方法模式深度解析(三):鈎子方法的使用,模闆方法模式效果與适用場景

通路者模式-Visitor Pattern【學習難度:★★★★☆,使用頻率:★☆☆☆☆】

操作複雜對象結構——通路者模式(一):OA系統中員工資料彙總

操作複雜對象結構——通路者模式(二):通路者模式概述

操作複雜對象結構——通路者模式(三):OA系統中員工資料彙總的通路者模式解決方案

操作複雜對象結構——通路者模式(四):通路者模式與組合模式聯用,通路者模式總結

設計模式趣味學習(複習)

設計模式與足球(一):建立型模式

設計模式與足球(二):結構型模式

設計模式與足球(三):行為型模式(上)

設計模式與足球(四):行為型模式(下)

設計模式綜合應用執行個體

多人聯機射擊遊戲

多人聯機射擊遊戲中的設計模式應用(一):抽象工廠模式,建造者模式,工廠方法模式,疊代器模式,指令模式

多人聯機射擊遊戲中的設計模式應用(二):觀察者模式,單例模式,狀态模式,擴充卡模式

資料庫同步系統

設計模式綜合執行個體分析之資料庫同步系統(一):資料庫同步系統概述,建造者模式,簡單工廠模式

設計模式綜合執行個體分析之資料庫同步系統(二):享元模式,單例模式,觀察者模式,模闆方法模式

設計模式綜合執行個體分析之資料庫同步系統(三):政策模式,組合模式,指令模式,職責鍊模式

【作者:劉偉  http://blog.csdn.net/lovelion】