Java設(shè)計(jì)模式非常適合各個(gè)層次的Java開發(fā)人員與設(shè)計(jì)人員閱讀,本書創(chuàng)造性地將這些模式分為5大類別,以充分展現(xiàn)各個(gè)模式的重要特征,并結(jié)合UML類圖與對(duì)應(yīng)的Java程序,便于讀者更好地理解。全書給出了大量的練習(xí),作為對(duì)讀者的挑戰(zhàn),以啟發(fā)思考,督促讀者通過實(shí)踐練習(xí)的方式來掌握設(shè)計(jì)模式。東坡小編分享Java設(shè)計(jì)模式(第2版)pdf中文完整版電子書籍,點(diǎn)擊下面的地址即可免費(fèi)下載閱讀。
Java設(shè)計(jì)模式(第2版)目錄
序xv
第1章 緒論1
為何需要模式1
為何需要設(shè)計(jì)模式2
為何選擇Java3
UML3
挑戰(zhàn)4
本書的組織4
歡迎來到Oozinoz公司6
小結(jié)6
第1部分 接口型模式
第2章 接口型模式介紹8
接口與抽象類8
接口與職責(zé)10
小結(jié)11
超越普通接口12
第3章 適配器(Adapter)模式13
接口適配13
類與對(duì)象適配器17
JTable對(duì)數(shù)據(jù)的適配20
識(shí)別適配器24
小結(jié)25
第4章 外觀(Facade)模式27
外觀類、工具類和示例類27
重構(gòu)到外觀模式29
小結(jié)38
第5章 合成(Composite)模式39
常規(guī)組合39
合成模式中的遞歸行為40
組合、樹與環(huán)42
含有環(huán)的合成模式47
環(huán)的影響50
小結(jié)51
第6章 橋接(Bridge)模式52
常規(guī)抽象:橋接模式的一種方法52
從抽象到橋接模式54
使用橋接模式的驅(qū)動(dòng)器57
數(shù)據(jù)庫驅(qū)動(dòng)57
小結(jié)59
第2部分 職責(zé)型模式
第7章 職責(zé)型模式介紹62
常規(guī)的職責(zé)型模式62
根據(jù)可見性控制職責(zé)64
小結(jié)65
超越普通職責(zé)65
第8章 單例(Singleton)模式67
單例模式機(jī)制67
單例和線程68
識(shí)別單例70
小結(jié)71
第9章 觀察者(Observer)模式72
經(jīng)典范例:GUI中的觀察者模式72
模型/視圖/控制器76
維護(hù)Observable對(duì)象82
小結(jié)84
第10章 調(diào)停者(Mediator)模式85
經(jīng)典范例:GUI調(diào)停者(Mediator)85
關(guān)系一致性中的調(diào)停者模式89
小結(jié)96
第11章 代理(Proxy)模式97
經(jīng)典范例:圖像代理97
重新思考圖片代理102
遠(yuǎn)程代理104
動(dòng)態(tài)代理109
小結(jié)114
第12章 職責(zé)鏈(Chain of Responsibility)模式115
現(xiàn)實(shí)中的職責(zé)鏈模式115
重構(gòu)為職責(zé)鏈模式117
固定職責(zé)鏈119
沒有組合結(jié)構(gòu)的職責(zé)鏈模式121
小結(jié)121
第13章 享元(Flyweight)模式122
不變性122
抽取享元中不可變的部分123
共享享元125
小結(jié)128
第3部分 構(gòu)造型模式
第14章 構(gòu)造型模式介紹130
構(gòu)造函數(shù)的挑戰(zhàn)130
小結(jié)132
超出常規(guī)的構(gòu)造函數(shù)132
第15章 構(gòu)建者(Builder)模式134
常規(guī)的構(gòu)建者134
在約束條件下構(gòu)建對(duì)象137
可容錯(cuò)的構(gòu)建者139
小結(jié)140
第16章 工廠方法(Factory Method)模式141
經(jīng)典范例:迭代器141
識(shí)別工廠方法142
控制要實(shí)例化的類143
并行層次結(jié)構(gòu)中的工廠方法模式145
小結(jié)147
第17章 抽象工廠(Abstract Factory)模式148
經(jīng)典范例:圖形用戶界面工具箱148
抽象工廠和工廠方法153
包和抽象工廠157
小結(jié)157
第18章 原型(Prototype)模式158
作為工廠的原型158
利用克隆進(jìn)行原型化159
小結(jié)162
第19章 備忘錄(Memento)模式163
經(jīng)典范例:使用備忘錄模式執(zhí)行撤銷操作163
備忘錄的持久性170
跨會(huì)話的持久性備忘錄170
小結(jié)174
第4部分 操作型模式
第20章 操作型模式介紹176
操作和方法176
簽名177
異常178
算法和多態(tài)179
小結(jié)180
超越常規(guī)的操作181
第21章 模板方法(Template Method)模式182
經(jīng)典范例:排序182
完成一個(gè)算法186
模板方法鉤子188
重構(gòu)為模板方法模式189
小結(jié)191
第22章 狀態(tài)(State)模式193
對(duì)狀態(tài)進(jìn)行建模193
重構(gòu)為狀態(tài)模式197
使?fàn)顟B(tài)成為常量201
小結(jié)203
第23章 策略(Strategy)模式204
策略建模204
重構(gòu)到策略模式207
比較策略模式與狀態(tài)模式211
比較策略模式和模板方法模式211
小結(jié)212
第24章 命令(Command)模式213
經(jīng)典范例:菜單命令213
使用命令模式來提供服務(wù)216
命令鉤子217
命令模式與其他模式的關(guān)系219
小結(jié)220
第25章 解釋器(Interpreter)模式221
一個(gè)解釋器示例221
解釋器、語言和解析器233
小結(jié)234
第5部分 擴(kuò)展型模式
第26章 擴(kuò)展型模式介紹236
面向?qū)ο笤O(shè)計(jì)的原則236
Liskov替換原則237
迪米特法則238
消除代碼的壞味道239
超越常規(guī)的擴(kuò)展240
小結(jié)241
第27章 裝飾器(Decorator)模式242
經(jīng)典范例:流和輸出器242
函數(shù)包裝器250
裝飾器模式和其他設(shè)計(jì)模式的關(guān)系257
小結(jié)258
第28章 迭代器(Iterator)模式259
普通的迭代259
線程安全的迭代261
基于合成結(jié)構(gòu)的迭代267
小結(jié)277
第29章 訪問者(Visitor)模式278
訪問者模式機(jī)制278
常規(guī)的訪問者模式280
Visitor環(huán)286
訪問者模式的危機(jī)290
小結(jié)292
附錄A 指南293
附錄B 答案297
附錄C Oozinoz源代碼366
附錄D UML概覽369
參考文獻(xiàn)375
Java設(shè)計(jì)模式(第2版)節(jié)選
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版