原文:http://www.javashuo.com/article/p-mswxlyip-nq.html算法
2012年-2013年,Sunny在CSDN技術博客中陸續發表了100多篇與設計模式學習相關的文章,涵蓋了七個面向對象設計原則和24個設計模式(23個GoF設計模式 + 簡單工廠模式),爲了方便你們學習,現將全部文章的連接進行了整理,但願能給各位帶來幫助!數據庫
祝你們聖誕節快樂! 花絮:本文的工做量大大超過以前的估計,幾乎整個平安夜都花在它身上了,設計模式
基礎知識安全
設計模式概述負載均衡
從招式與內功談起——設計模式概述(一):設計模式從何而來?框架
從招式與內功談起——設計模式概述(二):設計模式是什麼?學習
從招式與內功談起——設計模式概述(三):設計模式有什麼用?附:我的觀點ui
面向對象設計原則加密
面向對象設計原則概述.net
六個建立型模式
簡單工廠模式-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系統中員工數據彙總的訪問者模式解決方案
操做複雜對象結構——訪問者模式(四):訪問者模式與組合模式聯用,訪問者模式總結
設計模式趣味學習(複習)
設計模式與足球(一):建立型模式
設計模式與足球(二):結構型模式
設計模式與足球(三):行爲型模式(上)
設計模式與足球(四):行爲型模式(下)
設計模式綜合應用實例
多人聯機射擊遊戲
多人聯機射擊遊戲中的設計模式應用(一):抽象工廠模式,建造者模式,工廠方法模式,迭代器模式,命令模式
多人聯機射擊遊戲中的設計模式應用(二):觀察者模式,單例模式,狀態模式,適配器模式
數據庫同步系統
設計模式綜合實例分析之數據庫同步系統(一):數據庫同步系統概述,建造者模式,簡單工廠模式
設計模式綜合實例分析之數據庫同步系統(二):享元模式,單例模式,觀察者模式,模板方法模式
設計模式綜合實例分析之數據庫同步系統(三):策略模式,組合模式,命令模式,職責鏈模式