2024香港最具教育競爭力中學/小學/幼稚園50強龍虎榜
2024香港最具教育競爭力中學/小學/幼稚園排名指南
最近十一年香港最具教育競爭力中學/小學/幼稚園50強完整版榜單:
2024202320222021/202019201820172016201520142013
教育競爭力評比體系說明
校風評比體系說明
服务全球华人的中英文書籍網上書店
您的購物車是空的

設計模式從入門到精通

  • 作者:楊帆 等 著
  • 出版社: 電子工業出版社
  • 出版時間:2010-08-01
  • 版次:1
  • 商品編號: 10311448

    頁數:524

    紙張:膠版紙

    ISBN:9787121115608

    印刷時間:2010-08-01

    正文語種:中文


HK$89.00 (速遞費用須知)
購買額滿HK$158免運費
免郵費優惠僅限香港、澳门、
台灣及中國大陸

購買數量:

內容簡介

 

《設計模式從入門到精通》使用Java語言來描述經典的GoF23設計模式,在講解過程中涉及了JDK 6.0中的新特性,全書採用案例驅動的形式,由一個完整的超市系統案例統領了全部知識點。《設計模式從入門到精通》以案例項目工程為主線,以應用為目的,循序漸進地講解了設計模式的具體應用方法,易學易用,並且結合案例驅動形式,可以使讀者將各種設計模式真正運用到實際開發中,避免理論與實踐脫節的問題。
  《設計模式從入門到精通》適用於對設計模式不甚瞭解的初學者,同時也適合具有一定編程基礎、需要提高實踐技術的程序員作為參考用書。《設計模式從入門到精通》還可作為高等院校計算機等專業及相關培訓學校的指導教材。

目錄

第1章 設計模式初見 1
1.1 一切從某個小超市開始 1
1.2 為何使用設計模式 1
1.3 設計模式分類 2
1.4 閱讀建議與學習資源 3

第2章 面向對象設計原則 4
2.1 軟件的維護代價 4
2.2 面向對象設計原則 4
2.2.1 基礎原則:「開-閉」原則(OCP) 4
2.2.2 單一職責原則(SRP) 7
2.2.3 裡氏替換原則(LSP) 10
2.2.4 依賴倒置原則(DIP) 12
2.2.5 接口隔離原則(ISP) 13
2.3 Java面向對象的支持 14

第3章 統一建模語言UML概述 15
3.1 UML發展史 15
3.2 UML中的關係 17
3.2.1 依賴關係 17
3.2.2 繼承關係 17
3.2.3 實現關係 17
3.2.4 關聯關係 18
3.2.5 聚合關係 18
3.2.6 組合關係 18
3.3 UML中的圖形類型 19
3.4 UML工具軟件 19

第4章 工廠方法模式(Factory Method) 21
4.1 商品上架遇到的問題 21
4.2 工廠方法模式的結構 24
4.2.1 簡單工廠模式 24
4.2.2 工廠方法模式 29
4.2.3 使用工廠方法模式解決商品上架問題 33
4.2.4 工廠模式在JDK中的實例 42
4.2.5 工廠方法模式的使用範圍 44
4.2.6 簡單工廠與其他模式的區別 44
4.3 工廠方法模式總結 44

第5章 抽象工廠模式(Abstract Factory) 45
5.1 深入探討商品上架遇到的問題 46
5.2 抽象工廠模式的結構 51
5.2.1 抽象工廠模式 51
5.2.2 使用抽象工廠模式解決商品上架問題 58
5.2.3 抽象工廠模式在JDK中的實例 66
5.2.4 抽象工廠模式的使用範圍 71
5.2.5 與其他模式的關係 71
5.3 抽象工廠模式總結 72

第6章 建造者模式(Builder Factory) 73
6.1 商品捆綁銷售的問題 73
6.2 建造者模式的結構 76
6.2.1 建造者模式 76
6.2.2 使用建造者模式解決捆綁銷售問題 83
6.2.3 建造者模式的實際使用案例 92
6.2.4 建造者模式的使用範圍 92
6.2.5 與其他模式的關係 93
6.3 建造者模式總結 93

第7章 原型模式(Prototype) 94
7.1 新連鎖店開張 94
7.2 原型模式的結構 97
7.2.1 原型模式 97
7.2.2 淺克隆與深克隆 102
7.2.3 使用原型模式解決連鎖店問題 109
7.2.4 原型模式在JDK中的應用實例 116
7.2.5 原型模式的使用範圍 116
7.2.6 與其他模式的關係 117
7.3 原型模式總結 117

第8章 單例模式(Singleton) 118
8.1 連鎖店總店的唯一性問題 118
8.2 單例模式的結構 120
8.2.1 單例模式 120
8.2.2 多線程情況下的單例模式 122
8.2.3 單例模式的雙重檢查模式DCL 126
8.2.4 使用單例模式解決連鎖店總店的問題 129
8.2.5 單例模式在JDK中的實例 137
8.2.6 單例模式的使用範圍 140
8.2.7 與其他模式的關係 140
8.3 單例模式總結 141

第9章 適配器模式(Adapter) 142
9.1 家電區的麻煩 142
9.2 適配器的結構 143
9.2.1 類適配器 143
9.2.2 對象適配器 144
9.2.3 兩種適配器的對比 145
9.2.4 用適配器模式解決電源插頭問題 146
9.2.5 雙向適配器 149
9.2.6 適配器模式在JDK中的實例 150
9.2.7 適配器的適用範圍 155
9.2.8 與其他模式的關係 155
9.3 適配器模式總結 156

第10章 橋接模式(Bridge) 157
10.1 遊戲機銷售專櫃引發的思考 157
10.2 橋接模式的結構 158
10.2.1 橋接模式 158
10.2.2 使用橋接模式解決遊戲機銷售的問題 163
10.2.3 橋接模式在JDK中的實例 168
10.2.4 橋接模式的使用範圍 171
10.2.5 與其他模式的關係 171
10.3 橋接模式總結 171

第12章 代理模式(Proxy) 172
11.1 手機櫃檯遇到的問題 172
11.2 代理模式的結構 173
11.2.1 代理模式 173
11.2.2 使用代理模式解決手機展示過程中的問題 177
11.2.3 幾種不同的代理模式 186
11.2.4 代理模式的使用範圍 192
11.2.5 與其他模式的關係 193
11.3 代理模式總結 193

第12章 外觀模式(Facade) 194
12.1 顧客的意見——購買大件商品時手續繁多 194
12.2 外觀模式的結構 195
12.2.1 外觀模式 195
12.2.2 使用外觀模式解決顧客的一站式服務 201
12.2.3 外觀模式在JDK中的實例 206
12.2.4 外觀模式的使用範圍及優點 209
12.2.5 與其他模式的關係 210
12.3 外觀模式總結 210

第13章 裝飾模式(Decorator) 212
13.1 如何解決銷售人員的能力固化問題 212
13.2 裝飾模式的結構 213
13.2.1 裝飾模式 213
13.2.2 使用裝飾模式解決銷售人員問題 217
13.2.3 裝飾模式在JDK中的實例 223
13.2.4 裝飾模式的使用範圍 224
13.2.5 與其他模式的關係 225
13.3 裝飾模式總結 226

第14章 組合模式(Composite) 227
14.1 如何描述超市的組織結構 227
14.2 組合模式的結構 229
14.2.1 組合模式 229
14.2.2 使用橋接模式解決超市組織結構問題 236
14.2.3 組合模式在JDK中的實例 244
14.2.4 組合模式的使用範圍 248
14.2.5 與其他模式的關係 248
14.3 組合模式總結 248

第15章 享元模式(Flyweight) 249
15.1 宣傳海報設計過程中的思考 249
15.2 享元模式的結構 250
15.2.1 單純享元模式 250
15.2.2 復合享元模式 255
15.2.3 使用享元模式解決宣傳海報的設計問題 260
15.2.4 享元模式在JDK中的實例 272
15.2.5 享元模式的使用範圍 274
15.2.6 與其他模式的關係 274
15.3 享元模式總結 275

第16章 命令模式(Command) 276
16.1 連鎖店客服專線的問題 276
16.2 命令模式的結構 279
16.2.1 命令模式 279
16.2.2 使用命令模式解決客服電話的問題 289
16.2.3 命令模式在JDK中的實例 297
16.2.4 命令模式的使用範圍 298
16.2.5 與其他模式的關係 299
16.3 命令模式總結 299

第17章 觀察者模式(Observer) 300
17.1 連鎖店宣傳資料的發放問題 300
17.2 觀察者模式的結構 304
17.2.1 觀察者模式 305
17.2.2 使用觀察者模式構建發佈/訂閱模型 309
17.2.3 觀察者模式在JDK中的實例 316
17.2.4 觀察者模式的使用範圍 321
17.2.5 與其他模式的關係 322
17.3 觀察者模式總結 323

第18章 責任鏈模式(Chain of Responsibility) 324
18.1 商品進貨審批中的問題 324
18.2 責任鏈模式的結構 328
18.2.1 責任鏈模式 328
18.2.2 純的和不純的責任鏈模式 332
18.2.3 用責任鏈模式建立明晰的進貨審批流程 332
18.2.4 責任鏈模式在JDK中的實例 338
18.2.5 責任鏈模式的使用範圍 342
18.2.6 與其他模式的關係 343
18.3 責任鏈模式總結 343

第19章 迭代器模式(Iterator) 344
19.1 收銀員的商品處理效率亟待提高 344
19.2 迭代器模式的結構 350
19.2.1 迭代器模式 350
19.2.2 用迭代器模式統一處理各類商品 354
19.2.3 迭代器模式在JDK中的實例 362
19.2.4 迭代器模式的使用範圍及優點 365
19.2.5 與其他模式的關係 365
19.3 外觀模式總結 365

第20章 訪問者模式(Visitor) 366
20.1 再談收銀員的效率問題 366
20.2 訪問者模式的結構 369
20.2.1 靜態、動態、單分派、多分派、雙重分派 369
20.2.2 訪問者模式 374
20.2.3 用訪問者模式設計靈活高效的收銀程序 381
20.2.4 訪問者模式在JDK中的實例 387
20.2.5 訪問者模式的使用範圍及優點 388
20.2.6 與其他模式的關係 389
20.3 訪問者模式總結 389

第21章 狀態模式(State) 390
21.1 如何調整超市的運營狀態 390
21.2 狀態模式的結構 393
21.2.1 狀態模式 393
21.2.2 用狀態模式設計超市在不同時段的打折狀態 403
21.2.3 狀態模式的使用範圍及優點 408
21.2.4 與其他模式的關係 408
21.3 狀態模式總結 408

第22章 備忘錄模式(Memento) 409
22.1 服務器硬盤壞了,營業數據全丟了 409
22.2 備忘錄模式的結構 411
22.2.1 備忘錄模式白箱實現 412
22.2.2 備忘錄模式黑箱實現 415
22.2.3 用備忘錄模式設計可靠的數據保存系統 421
22.2.4 備忘錄模式在JDK中的實例 431
22.2.5 備忘錄模式的特點 432
22.2.6 與其他模式的關係 433
22.3 備忘錄模式總結 433

第23章 策略模式(Strategy) 434
23.1 最常用的促銷手段——打折 434
23.2 策略模式的結構 437
23.2.1 策略模式 437
23.2.2 用策略模式構建靈活的打折方式 447
23.2.3 策略模式在JDK中的實例 459
23.2.4 策略模式的使用範圍及優點 460
23.2.5 與其他模式的關係 461
23.3 策略模式總結 461

第24章 調停者模式(Mediator) 462
24.1 超市經營的核心——庫存管理 462
24.2 調停者模式的結構 469
24.2.1 調停者模式 469
24.2.2 用調停者模式協調進貨/銷售/盤點之間的關係 475
24.2.3 調停者模式在JDK中的實例 481
24.2.4 調停者模式的適用範圍及優缺點 482
24.2.5 與其他模式的關係 482
24.3 調停者模式總結 482

第25章 模板方法模式(Template Method) 483
25.1 超市面包房的糕點製作流程規範化問題 483
25.2 模板方法模式的結構 487
25.2.1 模板方法模式 487
25.2.2 用模板方法模式設計不同糕點的製作流程 491
25.2.3 模板方法模式在JDK中的實例 497
25.2.4 模板方法模式的使用範圍及優點 499
25.2.5 與其他模式的關係 500
25.3 模板方法模式總結 500

第26章 解釋器模式(Interpreter) 501
26.1 新店開在了外國人聚居區 501
26.2 解釋器模式的結構 504
26.2.1 解釋器模式 504
26.2.2 用解釋器模式設計超市內的多語言指示牌 510
26.2.3 解釋器模式在JDK中的實例 516
26.2.4 解釋器模式的使用範圍及優點 517
26.2.5 與其他模式的關係 517
26.3 解釋器模式總結 518

第27章 設計模式總結 519
27.1 回顧設計模式在超市發展中的足跡 519
27.2 各模式之間的關係及演變圖 521
27.3 新的知識新的起點 522
27.3.1 Java EE設計模式 522
27.3.2 架構風格模式 523
27.3.3 架構模式 523
27.3.4 分層架構模式 524
27.4 學習建議 524


我們接受以下的付款方式︰VISA、Mastercard、JCB 信用卡、PayPal、銀行轉帳。