python設計模式第2版


 

python設計模式第2版

 

目錄

第1章 設計模式簡介 1 
1.1 理解面向對象編程 1 
1.1.1 對象 2 
1.1.2 類 2 
1.1.3 方法 2 
1.2 面向對象編程的主要概念 3 
1.2.1 封裝 3 
1.2.2 多態 3 
1.2.3 繼承 4 
1.2.4 抽象 4 
1.2.5 組合 5 
1.3 面向對象的設計原則 5 
1.3.1 開放/封閉原則 6 
1.3.2 控制反轉原則 6 
1.3.3 接口隔離原則 6 
1.3.4 單一職責原則 7 
1.3.5 替換原則 7 
1.4 設計模式的概念 7 
1.4.1 設計模式的優點 8 
1.4.2 設計模式的分類 9 
1.4.3 上下文—設計模式的適用性 9 
1.5 動態語言的設計模式 9 
1.6 模式的分類 10 
1.6.1 創建型模式 10 
1.6.2 結構型模式 10 
1.6.3 行為型模式 11 
1.7 小結 11 
第2章 單例設計模式 12 
2.1 理解單例設計模式 12 
2.2 單例模式中的懶漢式實例化 14 
2.3 模塊級別的單例模式 15 
2.4 Monostate單例模式 15 
2.5 單例和元類 16 
2.6 單例模式Ⅰ 18 
2.7 單例模式Ⅱ 20 
2.8 單例模式的缺點 21 
2.9 小結 22 
第3章 工廠模式:建立創建對象的工廠 23 
3.1 了解工廠模式 23 
3.2 簡單工廠模式 24 
3.3 工廠方法模式 26 
3.3.1 實現工廠方法 27 
3.3.2 工廠方法模式的優點 29 
3.4 抽象工廠模式 30 
3.5 工廠方法與抽象工廠方法 33 
3.6 小結 34 
第4章 門面模式—與門面相適 35 
4.1 理解結構型設計模式 35 
4.2 理解門面設計模式 36 
4.3 UML類圖 37 
4.3.1 門面 37 
4.3.2 系統 38 
4.3.3 客戶端 38 
4.4 在現實世界中實現門面模式 38 
4.5 最少知識原則 42 
4.6 常見問答 42 
4.7 小結 43 
第5章 代理模式—控制對象的訪問 44 
5.1 理解代理設計模式 44 
5.2 代理模式的UML類圖 46 
5.3 了解不同類型的代理 47 
5.3.1 虛擬代理 48 
5.3.2 遠程代理 48 
5.3.3 保護代理 48 
5.3.4 智能代理 48 
5.4 現實世界中的代理模式 49 
5.5 代理模式的優點 52 
5.6 門面模式和代理模式之間的比較 52 
5.7 常見問答 53 
5.8 小結 53 
第6章 觀察者模式—了解對象的情況 54 
6.1 行為型模式簡介 54 
6.2 理解觀察者設計模式 55 
6.3 現實世界中的觀察者模式 58 
6.4 觀察者模式的通知方式 62 
6.4.1 拉模型 62 
6.4.2 推模型 62 
6.5 松耦合與觀察者模式 62 
6.6 觀察者模式:優點和缺點 63 
6.7 常見問答 64 
6.8 小結 64 
第7章 命令模式—封裝調用 65 
7.1 命令設計模式簡介 65 
7.2 了解命令設計模式 66 
7.3 實現現實世界中命令模式 69 
7.4 命令模式的優缺點 73 
7.5 常見問答 74 
7.6 小結 74 
第8章 模板方法模式—封裝算法 75 
8.1 定義模板方法模式 75 
8.1.1 了解模板方法設計模式 77 
8.1.2 模板方法模式的UML類圖 79 
8.2 現實世界中的模板方法模式 81 
8.3 模板方法模式—鈎子 84 
8.4 好萊塢原則與模板方法 85 
8.5 模板方法模式的優點和缺點 85 
8.6 常見問答 86 
8.7 小結 86 
第9章 模型—視圖—控制器—復合模式 87 
9.1 復合模式簡介 87 
9.2 模型—視圖—控制器模式 88 
9.2.1 模型—了解應用程序的情況 90 
9.2.2 視圖—外觀 90 
9.2.3 控制器—膠水 90 
9.3 MVC設計模式的UML類圖 92 
9.4 現實世界中的MVC模式 94 
9.4.1 模塊 94 
9.4.2 MVC模式的優點 101 
9.5 常見問答 101 
9.6 小結 102 
第10章 狀態設計模式 103 
10.1 定義狀態設計模式 103 
10.1.1 理解狀態設計模式 104 
10.1.2 通過UML圖理解狀態設計模式 105 
10.2 狀態設計模式的簡單示例 106 
10.3 狀態模式的優缺點 110 
10.4 小結 111 
第11章 反模式 112 
11.1 反模式簡介 112 
11.2 軟件開發反模式 113 
11.2.1 意大利面條式代碼 114 
11.2.2 金錘 114 
11.2.3 熔岩流 115 
11.2.4 復制粘貼或剪切粘貼式編程 115 
11.3 軟件架構反模式 116 
11.3.1 重新發明輪子 116 
11.3.2 供應商套牢 117 
11.3.3 委員會設計 117 
11.4 小結 118

 

下載地址:https://pan.baidu.com/s/1r7hu4r9Z5ao1oWzlSdqFPw

關注微信公眾號獲取提取碼:

  輸入:pyzf   獲取提取碼  


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com