基礎知識
設計模式概述
從招式與内功談起——設計模式概述(一):設計模式從何而來?
從招式與内功談起——設計模式概述(二):設計模式是什麼?
從招式與内功談起——設計模式概述(三):設計模式有什麼用?附:個人觀點
面向對象設計原則
面向對象設計原則概述
面向對象設計原則之單一職責原則
面向對象設計原則之開閉原則
面向對象設計原則之裡氏代換原則
面向對象設計原則之依賴倒轉原則
面向對象設計原則之接口隔離原則
面向對象設計原則之合成複用原則
面向對象設計原則之迪米特法則
六個建立型模式
簡單工廠模式-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】